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