我需要设置一个cronjob,每隔5分钟运行一个bash脚本,从上午9:30开始,直到下午4:00。
我有以下但是,这是不正确的…
的cronjob:
*/5 9-16 * * * /path/to/directory/job.sh > /path/to/log/file/job.log 2>&1
你在那里有一条线,将在09:00
和16:55
之间每五分钟运行一次命令(这里的所有范围都包括在内)。
你想要实现的可以用三个独立的 crontab
行来完成:
30-59/5 9 * * * /path/to/directory/job.sh > /path/to/log/file/job.log 2>&1 */5 10-15 * * * /path/to/directory/job.sh > /path/to/log/file/job.log 2>&1 0 16 * * * /path/to/directory/job.sh > /path/to/log/file/job.log 2>&1
第一个在09:30
和09:55
之间处理,第二个在10:00
和15:55
之间,每五分钟一个,最后一个在16:00
。
Cron没有直接表达的语法,所以你需要3个独立的行:一个用于9:30-9:55,一个用于10:00-15:55,另一个用于16:00。
我认为这是正确的:
30-55/5 9 * * * <command> */5 10-15 * * * <command> 0 16 * * * <command>