Python的crontab脚本似乎没有工作。 当我手动运行它时,
python /home/ec2-user/code1.py
它工作正常,但是当放入crontab的cron.txt文件,没有。
我的crontab文件是:
@hourly python /home/ec2-user/code1.py >/dev/null 2>&1
我也试过
0 * * * * python /home/ec2-user/code1.py >/dev/null 2>&1
但是没有太多的运气。
sudo crontab -l @hourly python /home/ec2-user/code1.py >/dev/null 2>&1
显示一切function。 我试过Crontab没有运行我的python脚本 ,也没有太多的运气与其他人夫妇。
同
PATH=/opt/python2.7/bin MAILTO=my@email */5 * * * * /home/ec2-user/code1.py
我收到的电子邮件是:
/bin/sh: /home/ec2-user/code1.py : No such file or directory
然而,我可以打开和编辑文件没有问题。 我尝试了许多不同的东西,但归结到这一点:cron没有看到该文件。
感觉就像我经历了整个https://askubuntu.com/questions/23009/reasons-why-crontab-does-notwork ,仍然没有运气
ps aux | grep [c]ron
ps aux | grep [c]ron
应该显示正在运行的cron进程 MAILTO=<email address>
添加到您的crontab中,以便获得电子邮件 /opt/python2.7/bin/python
)中,而不是在命令中使用python
echo FOOBAR
并验证您是否收到该电子邮件。 ls -l /homeec2-user/code1.py
? 应该是/home/ec2-user/code1.py
crontab -e
编辑用户的crontab永远不会来自其他平台,或者直接编辑文件。 crontab -l | cat -A
crontab -l | cat -A
以便我们可以验证所有的控制字符是正确的。 你有没有检查以下几点?
你的脚本是否可执行? chmod 700 code1.py
你的代码中的第一行应该是,在大多数情况下,python安装在这个地方
#!/usr/bin/python
之后,应该执行下面的crontab
0 * * * * /home/ec2-user/code1.py >/dev/null 2>&1
如果错误信息正确复制/粘贴,似乎显示crontab文件存在问题。 如果您是在外国平台上创建的,最好用一个空文件重新开始,这次在本机编辑器中创建它。
正如其他人已经指出的那样,将输出和错误重定向到/dev/null
基本上使调试成为不可能,所以不要这样做。 如果你的程序创建了详细的非信息输出,在一个可以过滤出简单的诊断的包装器中运行它,或者如果它是你自己的程序,重写它在正常运行时静静地运行。
你试过“/ usr / bin / python”而不是“python”吗?
ps ax | grep python会给你你可以使用的路径。
尝试这个命令,应该希望你的python是:
which python
很可能你会有类似的东西
/usr/bin/python /home/ec2-user/code1.py