使用crontab,定时执行一个python脚本,怎么不能用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用crontab,定时执行一个python脚本,怎么不能用相关的知识,希望对你有一定的参考价值。

注意两点:
1. crontab 不会有你设的环境变量
2. crontab 要用绝对路径


正确做法写一个shell脚本,在脚本内设置环境变量及执行python语句,然后crontab执行该脚本。
#/usr/bin/bash
PATH=/home//Python-3.3.3:/home//Python-3.3.3/bin:$PATH
python /home/xxx.py

参考技术A 在Python文件头部加入
!#/usr/bin/python

把Python(delete_log.py)的属性改为可执行
chmod a+x delete_log.py

就可以
crontab -e
00 08 * * * /data/install/relay/delete_log.py
参考技术B 这个肯定可以,我经常这样写,可以把的你定时那行发上来,可以帮你看看,也可以加群148291008提问,我帮你回答 参考技术C 一般这种是路径的问题
00 08 * * * 具体路径/python 具体路径/script.py
改成上面这样就可以了

ubuntu18.04crontab定时任务不执行

环境介绍:

  本人使用python写了一个自动化提交巡检的脚本放在服务器上,使用crontab去执行脚本的时候动作并没有执行,查看crontab日志时也不存在这个日志文件。如何如排查呢?

解决方案:

  步骤1:打开ubuntu的cron日志

    vim /etc/rsyslog.d/50-default.conf

    打开文件,在文件中找到cron.*,把前面的#去掉,保存退出,输入

    sudo service rsyslog restart

  步骤2:安装postfix邮箱

    sudo apt-get install postfix

    注:crontab执行脚本时是不会直接错误的信息输出,而是会以邮件的形式发送到你的邮箱里,这时候就需要邮件服务器了

  步骤3:查看报错信息

    cat /var/mail/root

    因为脚本是使用root账户cron执行的,所以在mail中查看root文件的输出

 

注:解决问题要有方法,不懂可以百度,但是一定要有思路。

以上是关于使用crontab,定时执行一个python脚本,怎么不能用的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7定时执行python脚本

Crontab定时任务中python3脚本无法运行问题解决

小知识点Centos 自动任务,定时执行 Python 脚本

小知识点Centos 自动任务,定时执行 Python 脚本

linux下使用crontab定时执行脚本

linux定时任务执行python脚本