是否有一个Linux调度程序,可用于调度进程以在1-24小时的随机时间范围内随机运行一定次数

问题描述 投票:-1回答:1

我希望能够在24小时内的整个随机时间段内随机运行一个过程。

我知道您可以使用cron在crontab中明确指定分钟间隔。但是,我也想在每次选择时生成这些间隔。

我可以编写一个脚本,该脚本将编写cron行并以这种方式实现随机化。但是我正在寻找一种工具,该工具本质上具有可以传递给我的参数并将为我安排过程。类似于:

random-scheduler.py-总运行7-总小时内8 --process-path /home/user/script/job1.py

谢谢

linux cron scheduler systemd cron-task
1个回答
0
投票

似乎systemd.timers(https://www.freedesktop.org/software/systemd/man/systemd.time.html)具有RandomizedDelaySec选项。因此,可以将间隔设置为每小时说一次

OnCalendar =每小时

并将RandomizedDelaySec设置为3600秒

RandomizedDelaySec = 3600

这些设置将告诉systemd每小时运行一次命令,并在1-3600秒之间随机选择一个延迟。因此实现随机间隔。

或者,可以更改OnCalendar设置以与所需的命令运行次数相关。因此,如果要在24小时内运行该命令6次。他们将除以24/6并设置OnCalendar = 0/4:00:00,然后乘以4 * 3600并设置RandomizedDelaySec = 14400,从而再次获得随机间隔。

© www.soinside.com 2019 - 2024. All rights reserved.