每天两次在00h和13:30执行crontab

问题描述 投票:25回答:5

我想在00:00和13:30每天执行两次脚本,所以我写道:

0,30 0,13 * * *

这对我来说似乎不对,因为这样,剧本将在00:00,00:30,13:00和13:30开火。任何的想法 ?

cron crontab
5个回答
24
投票

为什么不输入两个cron条目?一个用于00:00,一个用于13:30?我不认为你可以在一个条目中做你想做的事,因为两分钟的定义将适用于两个小时定义(正如你所确定的)。

另一种方法是在00:00执行一个脚本。该脚本将执行您的原始脚本,然后等待13.5小时,然后再次执行该脚本。通过一个简单的睡眠命令很容易做到,但我认为这是不直观的,我不确定cron如何管理如此长时间运行的进程(如果你编辑crontab会发生什么 - 它会导致生成的工作等等)


61
投票

试试这个 - :00 01,13 * * *

它将在1 A.M和1 P.M.


7
投票

你不能用cron在一行上做到这一点。您必须创建2个单独的行,如下所示:

# Will run "YourCommand" at 00:00
0   0   *   *   *   YourCommand
# Will run "YourCommand" at 13:30
30  13  *   *   *   YourCommand

或者作为单行,您可以每x小时运行一次命令,如下所示:

# Will run "YourCommand" every 12 hours
0   */12   *   *   *   YourCommand

3
投票

试试......

00,30 00,13 * * * [ `date +%H%M` == 1330 ] || [ `date +%H%M` == 0000 ] && logger "its time"

0
投票

30 0,13 * * * some command.是

这只是一个例子,但你会发现这是一个cron条目,将在凌晨0:30和下午1:30(军事时间13为1)运行。只需用逗号分隔小时,或用逗号分隔cron的任何部分。

© www.soinside.com 2019 - 2024. All rights reserved.