cron 启动 ev。 min 脚本,休眠 1200 秒

cron 启动 ev。 min 脚本,休眠 1200 秒

我写了一个脚本,它休眠了 1200 秒。该脚本必须每分钟通过 cron 执行一次。

如果我的脚本暂停 1200 秒,cron 还会启动一个新进程吗?

如果是这样,我该如何设置才能将 sleep 命令转发到 cron 以便暂时不执行该脚本。

感谢您的时间和帮助,NaLa

答案1

Cron 将继续按照配置启动新版本。它不关心它的子级:例如,您可能正在运行相同的脚本,但它每分钟都会获取不同的下载文件。

你不能告诉 cron 推迟。至少有两种已知的方法可以实现这一点。两者都有缺点。

(1)不要使用cron。让脚本通过命令调用自身at,例如echo myScript | at 'now + 1 minute'

(2) 让您的脚本检测到它已经有一个副本正在运行,并在执行任何操作之前退出。您可以为此使用锁定文件。

在这两种情况下,如果您的脚本在启动 at 或释放锁定文件之前中断,则在您干预之前它不会运行。有多种方法可以解决这个问题,但代价是更加复杂。

相关内容