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

时间:2012-12-21 16:17:04

标签: cron crontab

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

0,30 0,13 * * *

对我来说似乎不对,因为这样,剧本将在00:00,0:00,13:00和13:30开火。有什么想法吗?

6 个答案:

答案 0 :(得分:51)

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

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

运行

答案 1 :(得分:24)

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

替代方案可能是在00:00执行一个脚本。该脚本将执行您的原始脚本,然后等待13.5小时,然后再次执行该脚本。通过一个简单的睡眠命令很容易做到,但我认为它是不直观的,我不确定cron如何管理如此长时间运行的进程(如果你编辑{会发生什么? {1}} - 它会杀死一个衍生的作业等。)

答案 2 :(得分:7)

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

# 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 :(得分:3)

试试......

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

答案 4 :(得分:1)

Try this out: 0 6,18 * * *

它将在第6和18小时的第0分钟运行

或者您可以在{{3}}上试用

答案 5 :(得分:0)

30 0,13 * * * somecommand.sh

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