如何在每个随机工作日设置一个 cron 作业?

如何在每个随机工作日设置一个 cron 作业?

由于这个问题相当不言自明,我想知道如何设置 cronjob 来在任何随机工作日执行而不使用任何外部脚本。

any 1 weekday编辑:以防人们不明白这个问题,我们有 5 个工作日,即星期一、星期二、星期三、星期四、星期五。我有一个 24/7 运行的服务器。我想设置一个每周运行一次的 cron 。

daily注意:我非常怀疑这是一个重复的问题,因为这个问题与// weeklycronjobs无关monthly

答案1

这样的东西对你有用吗?它从 bash 数组中随机选择一个日期days(注意 SHELL 前缀),然后在其random_runner下编写一个 cronjob()/etc/cron.d来运行脚本/home/foobar/myscript

您可以将其放入/etc/cron.d/random_generator并每天生成一个新的“跑步者”。

SHELL=/bin/bash
27 8 * * * root  days=(Mon Tue Wed Thu Fri Sat Sun); rd="$(( RANDOM \% 7 ))"; day="${days[$rd]}"; echo "45 15 * * $day root /home/foobar/myscript" > /etc/cron.d/random_runner

相关内容