在线调试
设置规则
# 每分钟执行一次
*/1 * * * * /scripts/script.sh
# 每小时执行一次
0 */1 * * * /scripts/script.sh
# 每天 02:00 执行一次任务
0 2 * * * /bin/sh backup.sh
# 每天 5:00和17:00分别执行一次任务
0 5,17 * * * /scripts/script.sh
参考 :https://blog.csdn.net/weixin_41004350/article/details/78492367
参考 : https://www.jianshu.com/p/d93e2b177814
定时任务启动python脚本规则案例
参考:https://www.jianshu.com/p/cf1dbd17ee2f
# 防止出现一些路径错误,最好都使用绝对路径
# 每分钟执行一次
*/1 * * * * /etc/anaconda3/bin/python3 /home/mysticbiant/code/test.py >>/home/mysticbiant/test.py.log 2>&1 &
检查crontab是否启动
systemctl status crond
如果没有启动,自己搜索一下如何启动crontab.
检查crontab日志
tail -f /var/log/cron
# 需要root权限才能看到日志,sudo一下
sudo tail -f /var/log/cron
如果日志没有在对应的时间启动,就是有问题linux 有毛病,干服务器就对了。
检查账号权限和路径
这个属于重点,很多新手在这个问题都会搞错,请仔细阅读
crontab的定时任务计划规则是一个账号独立一份,各自互不影响原则。比如说root有自己独立的定时任务计划,你创建的mysticbinary子账号也有自己独立的定时任务计划,所以你书写的重定向规则 >>out.log ,会在你对应的账号路径下生成。比如你使用root创建了crontab定时任务,那么就得切换到/root/下查看out.log文件。
运行的程序里面的路径,注意路径,如果使用相对路径的话,会在运行环境路径下。建议在项目代码中不使用相对路径,使用获取项目根目录的方法。