编码问题
我们在将python文件上传到linux后,使用crontab来执行,但是会发生编码错误 如:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
原因是linux下的crontab没有正确加入字符串,而成了默认的ascii码了, 解决方法:用crontab -e打开任务文件,最上面加上一行:
LANG=zh_CN.UTF-8
不能写入文件问题
这个也是crontab下,没有载入环境变量参数,py也找不到目录,所以这里的任务执行前可以用source 加载.bashrc文件 如:
*/1 * * * * source /root/.bashrc && /bin/bash /home/myshell/check_pro_isrun.sh /dev/null 2>/home/logs/errors_checkpro.log