利用Linux的crontab实现python定时任务

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40238625/article/details/78992506
linux 系统下的crontab 定时任务:
*/2 表示定时任务周期。
cron 执行日志 /var/log/cron
crontab -e 添加定时任务
crontab -l 查看添加的定时任务

1.Ubuntu:
service cron start / status / restart / stop
编辑 /etc/crontab 文件添加定时任务:

2.centos:
centos 通过编辑 /etc/crontab 文件的方式添加定时任务,当重启crond服务时,不会报异常,但查看crond日志发现出现时间设置的错误 "bad minute":
改为使用 "crontab -e" 命令添加定时任务,重启crond服务未发现异常。
随后查看cron日志发现定时任务执行了,但查看脚本日志为发现执行记录,发现一条系统日志信息:
查看系统日志,发现一直在提示未发现root命令:
编辑 "crontab -e" ,将root用户去掉,重启,定时任务正常执行。

后面再安装一台centos虚拟机,发现添加root用户的定时任务正常执行,未发现异常,所以是否需要添加root用户执行以实际测试情况为准。

添加的定时任务指定了python解释器为 "/usr/bin/python",在服务器上通过编译源码安装了pymysql模块,但定时任务脚本执行时提示无法导入pymysql,使用 "pip install pymysql" 查看pymysql模块安装位置,提示pymysql已安装及其安装路径,不是 "/usr/bin/python"解释器,而是 "/usr/local/bin/python"
,在命令行启动 "/usr/local/bin/python"解释器,import pymysql 成功,将定时任务的解释器重新设定为 "/usr/local/bin/python",定时脚本成功执行。

添加定时任务最好指定全局变量,但要注意全局变量是否使用正确,比如Linux自带的python就有多个版本。

猜你喜欢

转载自blog.csdn.net/weixin_40238625/article/details/78992506