服务器运行定时任务操作步骤:
1.编辑crontab配置
命令:
crontab -e
可进行编辑定时任务
crontab -l
查看定时任务列表
crontab -r
删除定时任务
service crond status
查看服务状态
服务器一般会安装好crontab,若没有安装请按命令安装
yum install crontabs
2.编写配置文件
当打开配置文件的时候,我们可以看到类似的配置代码。每一行都代表一个定时任务 , 我们要做的就是新添加一行配置代码。
3.配置代码写法
代码结构可以通过这个图来理解
* * * * * command - - - - - - | | | | | +-----表示要执行的程序 | | | | +----- 星期中星期几 (0 - 6) (星期天 为0) | | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31) | +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59)
(1)时间设置
如果是定时的话 就给相应参数设置数字即可
记住 * 表示每次, / 表示每几次
比如
每分钟运行一次 * * * * *
每2天运行一次 在12点0分开始运行 0 12 */2 * *
(2)命令设置
我们是用python运行 所以命令应该为
python xxx.py
但是最重要的一点是 要用绝对路径写到命令,否则定时运行失败
所以我们要先搞清 python路径, 使用命令来得到python路径
which python
文件绝对路径通过此命令找到
find / -name xxx.py
4.重启服务
最后把配置文件写好后通过命令, 重启服务,定时任务生效
service crond restart
5.查看信息
通过此命令查看运行状态
cat /var/log/cron
实时查看运行状态日志
tail -f -n 200 /var/log/cron
脚本无法执行问题
如果我们使用 crontab 来定时执行脚本,无法执行,但是如果直接通过命令(如:python3 /data/test.py )又可以正常执行,这主要是因为无法读取环境变量的原因。
解决方法:
-
1、所有命令需要写成绝对路径形式,参照命令设置。