我如何每 5 天运行一次 Cron 作业

wan*_*alm 5 cron

我有 5 个 shell 脚本,我想以 5 天为周期运行它们,如下所示:

第 1 天:脚本 1 第 2 天:脚本 2 第 3 天:脚本 3 第 4 天:脚本 4 第 5 天:脚本 5

第 6 天:脚本 1 第 7 天:脚本 2 第 8 天:脚本 3 第 9 天:脚本 4 第 10 天:脚本 5

并保持脚本以 5 天为周期运行。如何在 cron 作业中设置它?

谢谢

Cel*_*ada 8

cron本身不支持这一点。完成您想要的事情的最简单方法可能是要求cron每天(同时)执行一个调度程序脚本,并让调度程序脚本根据当天的日期决定要运行的其他脚本。例如:

#!/bin/sh

case $(expr $(date +%s) / 86400 % 5) in
   0)
       exec /script/for/day/1
       ;;
   1)
       exec /script/for/day/2
       ;;
   2)
       exec /script/for/day/3
       ;;
   3)
       exec /script/for/day/4
       ;;
   4)
       exec /script/for/day/5
       ;;
esac
Run Code Online (Sandbox Code Playgroud)