如何使用 cron 在启动时运行 shell 脚本?

如何使用 cron 在启动时运行 shell 脚本?

我目前有一个 shell 脚本,我设法在不使用 cron 的情况下使用“sh runScript”在同一文件夹中运行它。它位于我的根文件夹中。为了尝试让 cron 在启动时运行它,我输入:

@reboot sh runScript

进入文件并保存。然后我重新启动,但我确定它没有运行。我尝试执行 @reboot echo "hello world",但也没有正确执行。我觉得这与路径有关。有什么建议吗?

编辑:我可能应该提到我正在使用 Alpine。我还将脚本的顶行更改为 #!/bin/sh,而不是 #!/bin/bash,以便我可以使用文件名运行它。

答案1

检查您的 cron 日志,看是否有任何尝试运行脚本的情况。在 redhat 上,通常是 /var/log/cron。如果路径有错误,您会在那里看到它(cron 实际尝试运行的内容)。
然后,为了再检查一下,不要尝试 echo,而是尝试将任何内容发送到文件,例如 date > /file_with_date.txt。然后检查文件是否已创建以及其中的时间。
然后检查 cron 守护程序是否正在运行 ;)
然后检查文件的权限、执行位,也许 selinux 会阻止对它的访问。

相关内容