重新启动服务器时,crontab @reboot不执行bash脚本

时间:2013-12-23 05:44:24

标签: linux bash cron crontab

我在用户的crontab中使用@reboot ~/www/example.com/bin/server ...但是当我重启服务器时,Web服务器(此脚本)没有出现。 (脚本在命令行中运行良好)。

我的猜测是/home/user目录尚未安装...有没有人知道是否可以使用此crontab @reboot方法让脚本在主目录中运行?

4 个答案:

答案 0 :(得分:6)

如果您认为尚未安装/ home / user(或某些必需的系统尚未运行),则在crontab行中,您始终可以在执行以下命令之前等待:

@reboot sleep 60; /home/user/www/example.com/bin/server

答案 1 :(得分:0)

肯定应该归功于评论中给出的环境场景。尝试以下操作并通过重新启动检查一次

@reboot (date > /tmp/date-check.txt)

确保cron能够运行这些工作。

答案 2 :(得分:0)

我的问题是crontab没有完整的环境。我制作了指向源{my} {}的脚本。

.bashrc

@reboot /home/user/www/example.com/bin/server 确保./server获得工作环境。

答案 3 :(得分:0)

在Ubuntu中,如果您使用的是主目录加密功能,那么crontab文件中的@reboot将无法正常工作,因为当系统启动并且cron运行其@reboot作业时,文件系统仍然是加密的。

您的选择是将文件放在未加密的位置(we或其他什么?)或在您的主目录中禁用主目录加密。