crontab调用python脚本,发现时间过了没有日志输出
* * * * * python xxxxx.py
1、查看cron日志
cat /var/log/cron
CROND[14020]: (root) MAIL (mailed 225 bytes of output but got status 0x004b#012)
2、查看cron的邮件内容,因为cron执行结果会发送邮件
cat /var/spoot/mail/root
3、发现邮件没有,查看邮件日志
cat /var/log/maillog
postfix /sendmail[180724]: fatal: parameter inet_interfaces: no local interface found for ::1
设置邮件
vi /etc/postfix/main.cf
inet_interfaces = localhost
inet_protocols = all
改为
inet_interfaces = all
inet_protocols = all
4、再查看cron的邮件内容
cat /var/spoot/mail/root
发现python报oracle组件找不到
经分析:确定crontab加载不到环境变量配置
解决方案:
把crontab调python直接改成调脚本.sh
脚本最前面加命令加载环境变量
#!/bin/sh
source ~/.bash_profile;
source /etc/profile;
python xxxx.py

本文介绍了一种常见问题的解决方案,即在使用Crontab定时任务调用Python脚本时,遇到时间已过但无日志输出的情况。通过检查cron日志、邮件内容及邮件日志,发现python报oracle组件找不到的问题。分析后确认为crontab加载不到环境变量配置,最终通过修改脚本前加命令加载环境变量来解决。
1411

被折叠的 条评论
为什么被折叠?



