两次之间每5分钟执行一次cron作业


18

有没有一种方法可以在crontab中指定在工作日的某个开始时间和某个结束时间之间每5分钟运行一次的作业?

更新 我认为与我的开始和结束时间不是整点钟有关。因此,在小时栏中指定9-5是不够的。我要9:30-17:30

Answers:



1

如果Ignacio Vazquez-Abrams的答案对您没有真正的帮助,例如因为脚本需要大量参数或调用条件不平凡(或没有时间限制),那么另一种方法是使简单包装器脚本,定期调用包装器脚本,并让包装器脚本检查当前时间并调用主脚本。

例如:

#/bin/bash

# Check to see if we should run the script now.
HOUR=$(date +%H)
MINUTE=$(date +%M)
if test $HOUR -lt 9; then exit 0; fi
if test $HOUR -eq 9 -a $MINUTE -lt 30; then exit 0; fi
if test $HOUR -eq 17 -a $MINUTE -gt 30; then exit 0; fi
if test $HOUR -gt 17; then exit 0; fi

# All checks passed; we should run the script now.
exec script.sh ... long list of parameters ...

这使得编码执行标准比cron的语法容易实现的编码复杂得多,而定期调用外壳程序和单独的脚本所需的开销却相对较小。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.