V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fuyunqishi
V2EX  ›  程序员

CentOS6.1 的/etc/rc.d/rc.local 开机不执行

  •  
  •   fuyunqishi · 2019-10-31 21:15:28 +08:00 · 3906 次点击
    这是一个创建于 1828 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人比较菜,大佬轻喷。执行权限加了,/etc/rc.local 也是有权限的。网上搜的答案基本相同,不知道还有没有其它原因会导致不执行

    21 条回复    2019-11-01 13:27:13 +08:00
    love
        1
    love  
       2019-10-31 21:20:12 +08:00
    技能该更新了,写个 systemd 的 service 文件也就分分钟的事,还更灵活
    fuyunqishi
        2
    fuyunqishi  
    OP
       2019-10-31 21:36:00 +08:00 via Android
    @love 感谢回复,这个文件里面是之前运维放了个自动化脚步在里面。但是不知道怎么不执行了。是个软件的话加 service 是挺好,但是这个自动化脚本还不知道怎么加进去
    eason1874
        3
    eason1874  
       2019-10-31 21:44:39 +08:00
    随手搜了一下 systemd 服务脚本的编写,感觉很容易,就是一个描述性文件,ExecStart 执行的可以是 .sh 文件
    cjpjxjx
        4
    cjpjxjx  
       2019-10-31 21:45:05 +08:00
    以前遇到过,最后发现是脚本运行所依赖的服务还没有启动完成导致运行失败,最后脚本前面加了个 sleep 解决了,我也菜,仅提供一个思路
    fuyunqishi
        5
    fuyunqishi  
    OP
       2019-10-31 21:49:05 +08:00 via Android
    @eason1874 谢谢,我再试试
    hasdream
        6
    hasdream  
       2019-10-31 21:49:29 +08:00 via Android
    看下这个文件有没有执行权限, 以前碰到类似问题,原因为执行权限
    fuyunqishi
        7
    fuyunqishi  
    OP
       2019-10-31 21:50:42 +08:00 via Android
    @cjpjxjx 谢谢回答,这个已经排除了。
    auciou2
        8
    auciou2  
       2019-10-31 22:38:15 +08:00
    这种问题在 CentOS 下经常会遇到,因为 CentOS 开机比较慢,同 4 楼的回复,解决的办法我是先加 2 次 sleep,一次 60 秒,一次 120 秒,然后执行要执行的命令,最后 killall sleep 进程,例如:

    sleep 60; sleep 120; >/var/log/btmp; killall -9 syslogd; killall -9 sleep;

    一般都能解决。
    0ZXYDDu796nVCFxq
        9
    0ZXYDDu796nVCFxq  
       2019-10-31 23:55:52 +08:00
    CentOS 6.1,发布日期 2011-12-09
    真是有点年头了
    iyaozhen
        10
    iyaozhen  
       2019-10-31 23:59:34 +08:00 via Android
    @gstqc centos 4.3,只能跑 jdk1.6 还在战斗
    msg7086
        11
    msg7086  
       2019-11-01 00:21:16 +08:00
    @gstqc 明年就 EOL 了可喜可贺。
    HEROic
        12
    HEROic  
       2019-11-01 01:26:21 +08:00 via Android
    脚本是有启动顺序的~ 感觉是前面的服务脚本还没完全启动导致的
    snuglove
        13
    snuglove  
       2019-11-01 08:04:10 +08:00 via Android
    建议贴图看看,一般不执行可能是执行权限或者内容写的有问题。
    vagrom
        14
    vagrom  
       2019-11-01 08:45:17 +08:00
    楼主试过,单独运行你 rc.local 中的命令,可以正常运行么?
    saytesnake
        15
    saytesnake  
       2019-11-01 09:29:38 +08:00
    在上古时代的 rc.local,不执行的原因绝大部分都是因为一些命令找不到,所以执行不了,没加载变量导致,所以除非你确认脚本本身无问题,那就 export 一下变量吧。
    FancyKing
        16
    FancyKing  
       2019-11-01 09:46:05 +08:00
    我也遇到过,当时的情况是不一定自动运行,就是有时候他执行有时候他不执行
    最后看的某个论坛的讨论区是加了 sleep 之后有效了
    klakekent
        17
    klakekent  
       2019-11-01 10:03:04 +08:00
    看下 /var/log/boot.log 启动日志 里面能找到线索
    Oa
        18
    Oa  
       2019-11-01 10:58:56 +08:00
    这个要 chmod +x 一下 就可以了
    tomychen
        19
    tomychen  
       2019-11-01 11:03:09 +08:00
    各位 systemd 大佬们... 人家是 CentOS6.1 别抖了好么

    环境变量?

    或者把功能移到 /etc/init.d
    fuyunqishi
        20
    fuyunqishi  
    OP
       2019-11-01 12:19:40 +08:00 via Android
    @vagrom 单独运行是可以的
    coolloves
        21
    coolloves  
       2019-11-01 13:27:13 +08:00
    /etc/rc.d/rc.local 要这里 +x
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2637 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:17 · PVG 20:17 · LAX 05:17 · JFK 08:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.