Python 关于执行cron作业的noob问题

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

我的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 (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数据),并查看其作用。