python脚本手动可以执行,crontab定时不执行或者报错的解决方法

python脚本手动可以执行,crontab定时不执行或者报错的解决方法

crontab定时不执行解决方法

python脚本一定要是绝对路径

15 9,21 * * * /usr/local/bin/python3  /home/bianzu/bianzu-script/aps_bianzu_monitor.py

执行脚本添加日志

shell中每个进程都和三个系统文件相关联:标准输入stdin、标准输出stdout、标准错误stderr,三个系统文件的文件描述符分别为0,1,2
2>&1 的意思就是将标准错误也输出到标准输出当中

15 9,21 * * * /usr/local/bin/python3  /home/bianzu/bianzu-script/aps_bianzu_monitor.py >> /home/bianzu/bianzu-script/log/aps_bianzu_monitor.log 2>&1

crontab定时执行报错的解决方法

为crontab引入执行脚本需要的环境变量
如下所示引入了python3、java的完整路径

10 3,15 * * * export PYSPARK_PYTHON=/usr/local/bin/python3;export JAVA_HOME=/data/bkce/service/java; /usr/local/bin/python3 /home/bianzu/bianzu-script/ne_csv.py >> /home/bianzu/bianzu-script/log/ne_csv.log 2>&1

Crontab用法补充

查看定时任务

crontab -l

修改定时任务

crontab -e

查看脚本文件的执行权限

ll ne_csv.py

赋予脚本文件执行权限

chmod 775 warehouse_monitor.py

查看定时任务执行的日志

tail -f ne_csv.log

crontab命令格式

minute hour day month week command
minute:表示分钟 ,0-59
hour:表示小时,0-23
day:日期,1-31
month:月份,1-12
week:星期几
command:要执行的命令

crond

crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。
/etc目录下的crontab文件就是系统任务调度的配置文件
在这里插入图片描述
第一行SHELL变量指定了系统要使用的shell
第二行PATH变量指定了系统执行命令的路径
第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章