centos7.x rc.local不执行问题修复

缘起

    由于折腾的一些库必须是centos7上才有,所以就折腾这迁移到centos7咯,其他常用的软件,比如mysql、nginx都使用service的方式设置开机启动咯,然后剩余自己定义的脚本放在/etc/rc.local下,然后发现死活这里的脚本不执行。

    这怎么能忍,因为这里放的可是提子呀,这个不能用那就得每次vps重启后手工拉起咯!!


    你还别说,我用手工拉起的方法,居然忍着用了小半年你敢信?


    间中,各种折腾,开启-x日志选项,都没有解决这个问题


    直到某个折腾的晚上,灵光一现,发现了centos7下边rc.local的注释。。。。。。。

    不禁感叹,程序猿是一个有时候死都不愿意写文档,有时候又非常想要有文档,有时候有文档、注释又不看的神奇生物!!!


折腾经过

    各种折腾调试不管用就不说了,直到灵光一现我看到了rc.local的注释,如下

# cat /etc/rc.local
#!/bin/bash -x
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

里边已经说得很清楚了,在centos7里边,不建议使用rc.local脚本来增加开启启动项目,建议使用Service来做,这。。。。。

这和centos6是不一样的,centos6里边这里是可以执行的。

 这里的注释说的很清楚了,需要你把/etc/rc.d/rc.local 增加可执行权限


立马加上x属性,reboot,一切如你所愿!!

终于可以不用蛋疼的在不能上去网时手动去拉起提子了。。。。


总结

    这类系统升级后导致一些变化而不能正常运行的情况,很多时候不是执行不对,而是,TMD根本就没有执行,呵呵呵呵呵呵呵呵!!!

    这让我想起来之前发现nginx log不自动按天切割的问题,最后查了半天,发现特么的在centos7系统里,默认情况下,这个crontab服务就没有开机自启啊魂淡。。。。。。

    解决类似的问题,真是蛋疼,因为一上来定性思维的去查为什么执行不对,其实可以想一想到底有没有执行先。。。。。

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。