2014-09-29 59 views
0

我想要一个用户(tcff)每天早晨凌晨2点运行两个python脚本。Cron没有为用户运行

我已经正确安装了此用户以下的crontab:

[email protected]> crontab -l 

0 2 * * * python /home/tcff/path/to/myscript1.py 
0 2 * * * python /home/tcff/path/to/myscript2.py 

每个脚本的权限是:

-rwxr-xr-x 1 tcff tcff 5522 Sep 25 12:41 myscript1.py 
-rwxr-xr-x 1 tcff tcff 5522 Sep 25 12:41 myscript2.py 

当我直接打电话给每个脚本,他们很好地工作:

[email protected]> python /home/tcff/path/to/myscript1.py 

[Output as expected] 

然而,他们不是每天早上凌晨2点由cron运行。

我无法解决这个问题。我相信我有权限正确等?

+3

查看http://stackoverflow.com/tags/crontab/info中的“调试crontab”部分。我在'python'下注全路径。 – fedorqui 2014-09-29 13:28:24

+1

您可以为失败的cron作业设置通知电子邮件。它包含足够的信息来调试问题。最有可能的是,正如@fedorqui所说,这是一个PATH问题。 – 2014-09-29 13:35:44

回答

1

是的,的确,这些脚本没有运行的原因是因为我没有使用的完整路径,Python的二进制:

0 2 * * * /usr/bin/python /home/tcff/path/to/myscript2.py 

这是必要的,因为虽然外壳(bash)的有在/ usr/bin在PATH上运行cron的进程没有。

0

首先给予脚本文件的完全权限。

chmod 777 script_name 

而且跟踪的crontab的日志,看看有什么用的cronjob发生在这里你可以看到crontab中的所有日志。可能会有任何异常或错误。

[email protected]:[~]: tail -f /var/log/cron