首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >crontab的@reboot只适用于root?

crontab的@reboot只适用于root?
EN

Unix & Linux用户
提问于 2014-01-17 17:56:32
回答 6查看 433.7K关注 0票数 83

man 5 crontab非常清楚如何使用crontab在引导时运行脚本:

代码语言:javascript
复制
   These special time specification "nicknames" are supported, which replace the 5 initial time and date
   fields, and are prefixed by the `@` character:
   @reboot    :    Run once after reboot.

因此,我高兴地在crontab中添加了一行(在我的用户帐户下,而不是根):

代码语言:javascript
复制
@reboot     /home/me/myscript.sh

但出于某种原因,myscript.sh不会在机器重新启动时运行。(如果我从命令行调用它,它就会运行良好,所以它不是权限问题)

我遗漏了什么?

更新以回答@Anthon的问题:

  1. Oracle-linux版本: 5.8 (uname: 2.6.32-300.39.2.el5uek #1 SMP)
  2. Cron版本: vixie-cron-4.1-81.el5.x86_64
  3. 是的,/home是一个挂载分区。看来这就是问题所在。我该怎么解决这个问题?
  4. 目前,myscript.sh只将文本消息回显给/home/me中的文件。
EN

回答 6

Unix & Linux用户

发布于 2016-03-23 11:24:59

我发现在我的Ubuntu机器上,我还不能在@reboot时访问dns服务。这使我无法安装远程卷。这个老生常谈但又简单的解决方案奏效了:

@reboot sleep 60 && /home/me/bin/mount.sh 2>&1 >> /home/me/reboot.log

(根cron中;最后部分仅用于调试)

票数 25
EN

Unix & Linux用户

发布于 2017-02-08 18:16:23

我也有mac,我的脚本没有运行的问题也是一样的。但当我修改我的剧本时

代码语言:javascript
复制
@reboot   cd /home/me/  && sh myscript.sh

对我来说挺好的。通过运行命令,确保shell文件是可执行的

代码语言:javascript
复制
chmod +x myscript.sh
票数 4
EN

Unix & Linux用户

发布于 2017-04-06 16:44:44

我不知道您是否已经解决了这一问题,或者上述任何一种解决方案都是您所需要的,但另一种可能是:

如果您对/home目录进行了加密,则在登录之前它可能不可用,即在重新启动时不可用。

在这个场景中,您可以将脚本移动到另一个位置,如/srv或/opt或/usr/local/bin/等等。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/109804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档