如何 运行 每 5 小时执行一次 cron 作业
How to run a cron job at every 5 hour interval
如何每 5 小时 运行 一个 Cron
作业?
我试过了
0 */5 * * * /path/to/script/script.sh (Not necessarily a shell script)
但是这个 expression
的问题是它会 运行 每 5 hour
但时钟会在每天午夜 00:00:00
重置。
说明:如果作业在午夜00:00:00
执行,则执行时间如下
00:00:00, 05:00:00, 10:00:00, 15:00:00, 20:00:00
在 20:00:00
之后,作业将在 00:00:00
执行,比指定时间早 1 hour
。
但我的要求是作业应该 运行 以 5 小时为间隔并且不应在午夜重置
所以如果作业在午夜开始 00:00:00
以下应该是执行顺序。
00:00:00, 05:00:00, 10:00:00, 15:00:00, 20:00:00, (Day 1)
01:00:00, 06:00:00, 11:00:00, 16:00:00, 21:00:00, (Day 2)
02:00:00 ... (Day 3)
如何通过Cron
实现以下目标?
任何帮助将不胜感激。
每小时 this forum post on unix.com 运行 一个选项,并添加到您的脚本中:
time_ct=$(cat /tmp/cron_time_ct)
if [ $time_ct -lt 5 ]
then
echo "Not yet time"
time_ct=$((time_ct+1))
echo $time_ct > /tmp/cron_time_ct
exit
else
time_ct=0
echo $time_ct > /tmp/cron_time_ct
fi
# rest of your task
我做过类似 "every other monday" 类型的逻辑。 运行每周一执行脚本,并且只允许在脚本中每隔一个执行一次。
如何每 5 小时 运行 一个 Cron
作业?
我试过了
0 */5 * * * /path/to/script/script.sh (Not necessarily a shell script)
但是这个 expression
的问题是它会 运行 每 5 hour
但时钟会在每天午夜 00:00:00
重置。
说明:如果作业在午夜00:00:00
执行,则执行时间如下
00:00:00, 05:00:00, 10:00:00, 15:00:00, 20:00:00
在 20:00:00
之后,作业将在 00:00:00
执行,比指定时间早 1 hour
。
但我的要求是作业应该 运行 以 5 小时为间隔并且不应在午夜重置
所以如果作业在午夜开始 00:00:00
以下应该是执行顺序。
00:00:00, 05:00:00, 10:00:00, 15:00:00, 20:00:00, (Day 1)
01:00:00, 06:00:00, 11:00:00, 16:00:00, 21:00:00, (Day 2)
02:00:00 ... (Day 3)
如何通过Cron
实现以下目标?
任何帮助将不胜感激。
每小时 this forum post on unix.com 运行 一个选项,并添加到您的脚本中:
time_ct=$(cat /tmp/cron_time_ct)
if [ $time_ct -lt 5 ]
then
echo "Not yet time"
time_ct=$((time_ct+1))
echo $time_ct > /tmp/cron_time_ct
exit
else
time_ct=0
echo $time_ct > /tmp/cron_time_ct
fi
# rest of your task
我做过类似 "every other monday" 类型的逻辑。 运行每周一执行脚本,并且只允许在脚本中每隔一个执行一次。