如何每 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 脚本? ,好用睡眠和循环?的主要内容,如果未能解决你的问题,请参考以下文章