服务器总是要定时运行某个程序,而我在解决这个问题的时候遇到很多困难, 特此记录下来。
1.编辑crontab配置
crontab -e
服务器一般会安装好crontab,若没有安装请按命令安装
yum install crontabs
2.编写配置文件
当打开配置文件的时候,我们可以看到类似的配置代码。每一行都代表一个定时任务 , 我们要做的就是新添加一行配置代码。
3.配置代码写法
代码结构可以通过这个图来理解
(1)时间设置
如果是定时的话 就给相应参数设置数字即可
记住 * 表示每次, / 表示每几次
比如
每分钟运行一次
* * * * *
每2天运行一次 在12点0分开始运行
0 12 */2 * *
(2)命令设置
我们是用python运行 所以命令应该为
python xxx.py
但是最重要的一点是 要用绝对路径写到命令,否则定时运行失败
所以我们要先搞清 python路径, 使用命令来得到python路径
which python
文件绝对路径通过此命令找到
find / -name xxx.py
重启服务
最后把配置文件写好后通过命令, 重启服务,定时任务生效
service crond restart
查看信息
通过此命令查看运行状态
cat /var/log/cron
一个小问题
还有一点就是路径的问题, 比如我在python保存一个文件的路径, 这个路径也需要用绝对路径才可以, 否则路径就会有问题,比如我把一个文件保存到同一个目录下
比如
f.open("test.txt", 'w')
f.close()
最后文件将会保存到根目录下, 而不是和py文件相同的目录下, 这点需要注意!