【问题标题】:Cron job not kicked offCron 作业未启动
【发布时间】:2014-05-27 10:14:42
【问题描述】:

我是 Unix 新手,正在尝试添加一个 cron 作业,该作业应该在每小时的 0、15、30、45 分钟运行 python 脚本。我运行了这个命令,crontab -e,并在文件末尾添加了以下四行,

0 * * * * /usr/bin/python /var/www/test.py
* 15 * * * /usr/bin/python /var/www/test.py
* * 30 * * /usr/bin/python /var/www/test.py
* * * 45 * /usr/bin/python /var/www/test.py

我确实从我的主目录运行 /usr/bin/python /var/www/test.py 并且运行良好。但永远不会被 cron 启动。我还运行了以下命令,

ps aux | grep cron

以确保 cron 正在运行并且从输出中看起来是这样。

Ubuntu version: 12.04.4 LTS

知道为什么 cron 作业永远不会运行吗?

谢谢

【问题讨论】:

    标签: unix ubuntu cron


    【解决方案1】:

    要每 15 分钟运行一次,您需要:

    */15 * * * * /usr/bin/python /var/www/test.py

    您当前的语法不正确,并尝试在整点运行作业,再次在下午 3 点运行,再次在每月 30 日运行,最后在一年中的第 45 个月运行(无效)。

    * * * * *  command to execute
    ┬ ┬ ┬ ┬ ┬
    │ │ │ │ │
    │ │ │ │ │
    │ │ │ │ └───── day of week (0 - 7) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
    │ │ │ └────────── month (1 - 12)
    │ │ └─────────────── day of month (1 - 31)
    │ └──────────────────── hour (0 - 23)
    └───────────────────────── min (0 - 59)
    

    最后,始终确保 crontab 中的最后一行以换行符结束 - 否则将阻止最后一个命令运行。

    【讨论】:

    • 感谢@TheBlueDog,做出了您建议的更改,而 crontab 现在只有这项工作,*/15 * * * * /usr/bin/python /var/www/test.py。脚本仍未执行。
    • @user3529058:您是否用换行符终止了该行?呃,文件权限可能吗?有什么显示你的日志吗?试试tail -f /var/log/syslog - 抱歉,我不熟悉 Ubuntu,我的大部分经验都是使用 BSD。
    • 谢谢。弄清楚了。 crontab 的环境与我终端上的环境不匹配。我在 crontab 中添加了 PATH 和 PYTHONPATH 的设置,它开始工作了。
    • @user3529058:很酷,很高兴你终于让它工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2014-11-02
    相关资源
    最近更新 更多