Python 关于执行cron作业的noob问题
我的cron工作如下所示:Python 关于执行cron作业的noob问题,python,linux,cron,Python,Linux,Cron,我的cron工作如下所示: 07 14 * * 1-5 python /home/foo/cronscript.py 剧本: if __name__ == '__main__': f = open('/home/foo/cronpass.txt','w') f.write('abc') f.close() 检查系统日志我想命令确实运行了,但有一个错误: Aug 29 14:07:01 ubuntuserver CRON[16490]: (www-data) CMD
07 14 * * 1-5 python /home/foo/cronscript.py
剧本:
if __name__ == '__main__':
f = open('/home/foo/cronpass.txt','w')
f.write('abc')
f.close()
检查系统日志我想命令确实运行了,但有一个错误:
Aug 29 14:07:01 ubuntuserver CRON[16490]: (www-data) CMD (python /home/foo/cronscript.py)
Aug 29 14:07:01 ubuntuserver CRON[16488]: (CRON) error (grandchild #16490 failed with exit status 1)
问题:错误意味着什么?这是否意味着在尝试执行脚本时出错,或者我的脚本中有错误
可能是什么错误 crontab任务的常见错误是,它们运行的环境没有所有的环境。瓦尔斯。你已经习惯了。可能在这里,
PATH
没有设置为所有常用目录,cron也找不到可执行文件python
。你应该写出它的完整路径。具体如下
07 14 * * 1-5 /usr/bin/python /home/foo/cronscript.py
或者,将shebang添加到python脚本中,例如
#/usr/bin/env python
(在第一行),并直接调用脚本(不过首先需要chmod+x)。嗯,为了进行测试,我按照@tdammers的建议,将文件设置为a+x。。现在退出状态更改为127127=未找到文件。您确定python位于/usr/bin
?另一个可能的错误可能是脚本dosen;I don’我没有读/写/home/的权限。。。试着先把它放到/tmp
中的r/w中。你是在根cronjob中运行它,还是在普通用户的crontab中运行它?@im从www-data的crontab运行它,www-data有权访问python脚本吗?尝试以www数据的形式运行脚本(su-
成为root,然后su www-data
模拟www数据),并查看其作用。