安排 cron 作业在星期四停止服务并在星期五启动它

安排 cron 作业在星期四停止服务并在星期五启动它

我对 UNIX 系统及​​其工作原理还很陌生。有没有办法在unix中安排一个cron作业,该作业在每天中午12:00运行并检查当天是否是星期四,它会停止服务,如果当天是星期五,它会再次启动服务?

答案1

你试图让一项工作有条件地做两件事,这让事情变得过于复杂。您希望一项作业在星期四启动服务,另一项作业在星期五启动服务,如下cron表所示。

0 0 * * 4 service myspiffyservice stop   > /dev/null 2>&1 # stop myspiffyservice on Thursday
0 0 * * 5 service myspiffyservice start  > /dev/null 2>&1 # start myspiffyservice on Friday

如果您正在谈论执行工作而不是开始或停止服务,这也可以通过一个仅在非星期四运行的 cron 作业来处理:

0 0 * * 0-3,5-6 /path/to/myspiffyjob > /dev/null 2>/dev/null # Run spiffy job on non-Thursdays

上述时间表可翻译为“周日至周三的每一天以及周五至周六的每一天的 00:00”。

相关内容