仅在负载较低时触发作业一次

仅在负载较低时触发作业一次

我希望自动更新我的 gtag,但仅限于系统空闲时。

为了实现这一目标,我用来iupdate监视源文件夹中有趣的部分。但我对“空闲”部分有一个问题:我知道batch当负载降至 1.5(或配置值)以下时,该命令可以运行作业。但在执行作业之前可能会iupdate运行多次,这会导致多次 gtag 更新。batch

当然,我可以创建一些锁定文件,并且batch仅在之前未调用它时才启动。

但有没有更标准的方法呢?我希望有类似的事情batch_only_once...

答案1

这将为您做:

$ cat /etc/lsb-release | grep -i desc
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"
$ apt-cache show run-one
....
Description-en: run just one instance of a command and its args at a time
 This utility will run just one instance at a time of some command and
 unique set of arguments (useful for cronjobs, eg).

答案2

您可以构建一个包装器脚本,该脚本将首先使用 解析atq并修剪其他批处理作业atrm

相关内容