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

每天在00点和13:30执行两次crontab,cron,crontab,Cron,Crontab,我想每天在00:00和13:30执行两次脚本,所以我写: 0,30 0,13 * * * 这对我来说似乎是错误的,因为像这样,脚本将在00:00、00:30、13:00和13:30启动。有什么想法吗?你不能在一个条目中做你想做的事情,因为两分钟的定义将适用于两个小时的定义(如你所确定的) 不幸的是,解决方案是使用两个cron条目。一个是00:00,一个是13:30 另一种方法可能是在00:00执行一个脚本。该脚本将执行原始脚本,然后等待13.5小时,然后再次执行该脚本。通过一个简单的sleep

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

0,30 0,13 * * *

这对我来说似乎是错误的,因为像这样,脚本将在00:00、00:30、13:00和13:30启动。有什么想法吗?

你不能在一个条目中做你想做的事情,因为两分钟的定义将适用于两个小时的定义(如你所确定的)

不幸的是,解决方案是使用两个cron条目。一个是00:00,一个是13:30


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

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

它将在凌晨1点和下午1点运行

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

30 0,13***somecommand.sh


这只是一个纯粹的示例,但您将看到这是一个cron条目,将在上午0:30和下午1:30运行(军事时间13是1)。只要用逗号分隔小时,或者用逗号分隔cron的任何部分。

您不能在一行上使用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
它将在第6和18小时后第0分钟运行


或者你也可以在

上试用,一开始我和你一样认为,但我说写两个cron entries是愚蠢的。它可能愚蠢,但可能是a)可维护的b)unavoidable@wassim:cron用于良好的重复间隔,而不是一天中任意的时间。使用两个cron条目并继续。只需通过传递正确的时间间隔(在一个cron中)即可完成此操作。我想,没有必要放两个cron条目。谢谢你发布了一个专门针对OP需求的示例?太复杂了,前面的答案是simpler@Mehdi试着用之前的答案来实现不同的分钟。加上一个是“军事时间”,不知道24小时格式的名称。OP说,“我想每天在00:00和13:30执行两次脚本“。这个答案不满足00:00。这当然不是OP想要的-‘每天在00:00和13:30执行crontab两次’。是分钟和小时的差异导致了这个问题,我认为这是一个很好的解决办法。通过@BrianAgnew更改指定时间在评论中你听起来很痛苦。只是说说而已。此外,评分反馈显示,尽管OP对这个答案不满意,但我们显然在寻找这个确切的答案。事实上,超过70%,所以更多的人。我认为这是一个更大的好处,你不同意吗?这不是“痛苦”,而是直接解决了声明/要求的要求,以及这个答案是否解决了它。
Try this out: 0 6,18 * * *