我有一个 cron 作业需要每 10 分钟运行一次,但在系统停机进行备份时不应每晚运行一小时(从早上 5 点到 6 点)。
据我了解,以下语法应该有效crontab
:
*/10 0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * * <command>
这不是一个好的解决方案,有没有更有效的方法来向 cron 表达我的需求?
如果有关系的话,服务器正在运行 RHEL 5。
答案1
RHEL 上的 Cron 支持列表,因此您可以这样做:
*/10 0-4,6-23 * * *
答案2
使用另一个服务在这段时间内关闭 cron 服务。也许在?
尽管大卫的想法听起来……更简单。
使用 cron 安排维护脚本 - 让脚本关闭 cron 并在最后重新启动它。无论您的维护脚本需要多长时间,都不会有任何工作干扰。一旦完成,一切都会恢复正常,您甚至可能不会错过任何事情。
为了允许快速维护脚本,请在现在 + x 小时内安排 cron 服务的启动。