我希望我的 cron 作业每小时、每天运行一次,周五除外,周五我根本不希望它在凌晨 2 点到上午 9 点之间运行(但在此时间范围之外每小时运行一次)。理想情况下,我希望将其放在一行/一个 cron 作业中。到目前为止我有两行(我不能 100% 确定它是正确的):
0 0 * * 0,1,2,3,4,6 script.sh
0 0-1,10-23 * * 5 script.sh
答案1
格式似乎是正确的(在上面的评论中应用更正后)。将所有内容放在一行中是否有一些特殊限制?如果您需要将所有内容都放在一行中,我建议更改 shell 脚本以避免星期五凌晨 2 点至上午 9 点,例如
#!/bin/bash # 该代码未经测试 # 周五凌晨 2 点至 9 点跳过 # 什么是非运行时间? 开始时间=2 结束时间=9 # 获取当前星期几 DAY=$(date +"%u") # 1-星期一,因此 5-星期五 # 和小时 小时=$(日期+"%H") if [ "$DAY" -eq 5 -a "$HOUR" -ge "$STARTTIME" -a "$HOUR" -le "$ENDTIME" ] 然后 # 结束执行 出口0 菲
希望有助于解决问题!
坦率