我想每天在 00:00 和 13:30 执行两次脚本,所以我写:
0,30 0,13 * * *
这对我来说似乎是错误的,因为像这样,脚本将在 00:00 、 00:30 、 13:00 和 13:30 触发。任何的想法 ?
试试这个-: 00 01,13 * * *
它将在凌晨 1 点和下午 1 点运行
您不能在一个条目中做您想做的事情,因为两分钟定义将适用于两个小时定义(如您所确定的)。
解决方案是(不幸的是)使用两个 cron 条目。00:00 一份,13:30 一份。
另一种方法可能是在 00:00 执行一个脚本。该脚本将执行您的原始脚本,然后等待 13.5 小时,然后再次执行该脚本。通过一个简单的睡眠命令很容易做到,但我认为这很不直观,而且我不确定如何cron
管理如此长时间运行的进程(如果你编辑会发生什么crontab
- 它会杀死一个衍生的工作等)
You can not do that with cron on a single line. You have to create 2 separate lines like so:
# Will run "YourCommand" at 00:00 every day of every months
#Min Hours D of the M Month D of the Week Command
0 0 * * * YourCommand
# Will run "YourCommand" at 13:30 every day of every months
30 13 * * * YourCommand
Or as a single line you can run a command every x hours, like so:
# Will run "YourCommand" every 12 hours
0 */12 * * * YourCommand
尝试 ...
00,30 00,13 * * * [ `date +%H%M` == 1330 ] || [ `date +%H%M` == 0000 ] && logger "its time"
Try this out: 0 6,18 * * *
it will run at minute 0 past hour 6 and 18
Or you can try it out on cronguru
30 0,13 * * * somecommand.sh
这只是一个示例,但您会看到这是一个 cron 条目,它将在上午 0:30 和下午 1:30 运行(军事时间中的 13 是 1)。只需用逗号分隔小时数,或用逗号分隔 cron 的任何部分。
try this,
0 10 9/12 ? * *
At second :00, at minute :10, every 12 hours starting at 09am, of every day