手动可以执行python 脚本,crontab 执行python脚本失败

手动可以执行python 脚本,crontab 执行python脚本失败

写个个python 脚本, 想用crontab 定时调用它,但是失败, 路径也是全的, 手动也可以执行, 后来写了个sh 脚本,脚本中写上 python test.py 来执行 发现也报错了, 报错说的大致是编码格式不对,导致 print 方法失败。 原来我的那个字符串事先变成了utf-8 的编码格式,然后print输出。 直接手动调用 python test.py 是不会出错的, 但是 放在sh 脚本里面就报错了。 crontab失败也是这个原因,因为crontab和 手动执行python的执行环境是不一样的, crontab 的执行环境在 /etc/crontab 这个文件里面。
手动可以执行python 脚本,crontab 执行python脚本失败

它是/bin/sh 所以和手动执行python 文件还是不一样的。 因此在写crontab 定时任务的时候,可以把任务卸载sh 脚本里面,然后在crontab里面调用shell脚本好一点, 这样就能保证 crontab执行任务成功。