如何每 20 秒执行一次 bash 脚本? ,好用睡眠和循环?

Posted

技术标签:

【中文标题】如何每 20 秒执行一次 bash 脚本? ,好用睡眠和循环?【英文标题】:how to execute a bash script every 20 seconds? , good use sleep and a loop? 【发布时间】:2021-06-27 13:55:18 【问题描述】:

我现在在 cron 中每分钟运行一个脚本,我想让它每 20 秒运行一次

另一方面,服务器管理器(脚本在由其他人管理的远程机器中)抱怨 crons 运行时间经常超过 5 ~ 10 分钟

我该如何编程?

我应该为每个循环使用 while true 循环和 sleep 20 吗?

【问题讨论】:

这是一个与服务器资源有关的问题,与编程无关。最好将其发送至serverfault.com 或相关服务器的管理员处。 【参考方案1】:

我认为你循环和睡眠的想法是正确的方法。

您可以在每次系统启动时(从 cron)在后台启动脚本,并使用使用 @reboot 的条目:

@reboot /path/to/script argument1 argument2

确保将输出写入文件,而不是 STDOUT。

您可以使用nohup 测试您的脚本而无需重新启动系统:

$ nohup /path/to/script argument1 argument2 &

【讨论】:

【参考方案2】:

像这样通过 cron 运行它:

* * * * *             /path/to/script
* * * * * sleep 20 && /path/to/script
* * * * * sleep 40 && /path/to/script

【讨论】:

以上是关于如何每 20 秒执行一次 bash 脚本? ,好用睡眠和循环?的主要内容,如果未能解决你的问题,请参考以下文章

每10秒执行定时任务-crontab

每 20 秒启动一次动画

while 循环

crontab指定时间执行程序(秒)

crontab中如何实现每隔多少天执行一次脚本

Linux怎么设置定时程序每天早8至20点每10秒执行一次