qq874455953

服务器总是要定时运行某个程序,而我在解决这个问题的时候遇到很多困难, 特此记录下来。

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文件相同的目录下, 这点需要注意!

分类:

技术点:

相关文章: