bash 脚本 while true + 睡眠 24 小时 + 单个命令 VS Cron

bash 脚本 while true + 睡眠 24 小时 + 单个命令 VS Cron

在 VPS 中使用具有以下框架的 bash 脚本是一种好的做法吗:

#!/bin/bash
while true; do 
    /path/to/other-bash-script-that-does-stuff.sh
    sleep 24h
done

这是为了避免触碰 Cron 配置。这会导致内存/CPU 消耗问题吗?该脚本将在启动时加载。

更新:根据评论,我还想问如何检查 Cron 设置是否正常工作,而无需等待 cron 作业自然启动所需的时间。(我是一个非常新手的 Cron 管理员)

非常感谢您的回复!

答案1

虽然它可以工作,但对我来说这听起来是个坏主意。作为系统管理员,我希望定期执行通过 cron 完成,因此如果以非标准方式完成,则会增加安装的复杂性。

如果主脚本因任何原因被终止(例如,在没有 nohup 的情况下执行,并且 shell 终止),则该进程将不会运行。此外,cron 会记录所有输出以及它已执行的事实。您可以将所有这些构建到脚本中,但是既然 cron 已经存在,为什么还要重新发明轮子呢?

答案2

我使用这样的配置(虽然在我的情况下它运行一次,休眠 8 小时,再次运行,休眠 8 小时,最后一次运行然后死亡)。据传闻,我认为它从未引起任何问题。据我所知,休眠进程实际上不会在资源方面做任何事情。有什么原因你不能碰 cron?

相关内容