crontab执行脚本执行脚本出错,手动执行该脚本是完全没有问题的,查看了日志发现是crontab未识别到python3命令,因为crontab用的不是系统环境变量。
Time taken: 6.036 seconds, Fetched: 86 row(s)
main.sh: line 42: python3: command not found
main.sh: line 43: python3: command not found
main.sh: line 45: python3: command not found
main.sh: line 46: python3: command not found
main.sh: line 47: python3: command not found
main.sh: line 48: python3: command not found
main.sh: line 49: python3: command not found
main.sh: line 50: python3: command not found
main.sh: line 51: python3: command not found
main.sh: line 52: python3: command not found
main.sh: line 53: python3: command not found
main.sh: line 54: python3: command not found
main.sh: line 55: python3: command not found
main.sh: line 56: python3: command not found
解决办法,要么设置环境变量要么直接用登录系统命令执行:
我选择的后者因为,这样再也不用考虑crontab的问题,因为crontab很多问题的,我们直接以命令执行:
0 7 * * * su - -c "cd /opt/predict && bash main.sh 1 > /opt/predict/predict.log"
这个是来着这个文章的后面的评论看到的,超级好用
crontab里面很多bug,比如时间的问题
反正这样一把梭,超级好用,百试不爽