侧边栏壁纸
博主头像
ayou

中年互联网混子,现居苏州,曾经技术型宅男一个,
爱好吃,爱好睡,体制外,爱岗敬业,
遵纪守法,头发短,见识短,伪Geek,毫无城府。

  • 累计撰写 1553 篇文章
  • 累计收到 11 条评论

Linux计划任务(Crontab)实现随机时间执行

2024-8-24 / 2 评论 / 1153 阅读

很多时候我们需要linux的任务计划,但是在一些场景中并不是需要特定的时间执行特定的任务,而是随机执行了命令就好。

下面这段crontab任务的意思是:每天9点0分,生成一个1到59秒的随机数,等待这个随机数的秒数后,立即执行bash /test.sh脚本,并且这个脚本的执行时间是在当前时间加上一个2到60分钟的随机数之后。这样的设置可以使得脚本的执行时间有一定的随机性,避免多个任务同时执行造成资源冲突。

0 9 * * * echo 'sleep '$(shuf -i 1-59 -n 1) ';bash /test.sh' | at now + $(shuf -i 2-60 -n 1) min

附:Crontab位置说明

*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

评论一下?

OωO
取消
    1. 头像
      🦐
      沙发
      很好,很受用。
      回复
      1. 头像
        ayou
        @🦐:你满意就行。
        回复