我需要帮助使用cronjob

时间:2014-08-25 18:00:08

标签: crontab

我试图编写一个cron作业,在30天后自动运行PHP文件。 PHP文件具有写权限777。

这是我的代码:

* * * */30 * php -f  /var/www/virtual/my_domain_name.com/htdocs/./file.php > /dev/null 2>&1

但这不起作用,我没有错误。

当我尝试:

* * * * * php -f  /var/www/virtual/my_domain_name.com/htdocs/./file.php > /dev/null 2>&1

该脚本有效,然后它每隔一秒执行一次文件。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

*/30放在第4个字段中会导致作业仅在一年中的第30个月运行,而在此后的每30个月运行一次 - 即从不。

*/30放在第3个字段(每月的某一天)会导致它在每个月的第30天运行(如果有这样的话,则在每月的第60天,第90天,......日)运行事情)。考虑到其他领域的*,它将在那一天每分钟运行一次 - 而且从未在二月份运行。我怀疑那就是你想要的。

如果你想让一个工作每个月运行一次,那很简单:

 0 0 12 * * php ...

这将在每个月的第12天午夜开始工作。调整前两个字段以选择不同的时间,调整第三个字段以选择不同的一天。

没有语法可以每30天运行一次作业。如果这真的是你想要的,你可以安排工作每天运行一次:

 0 0 * * * php ...

然后让作业本身确定当前日期是否是30的倍数。