遇到的问题
最近在迁移服务器的过程中发现rc.local这个Linux开机启动程序并没有按照预期能够自动执行一些命令。
补充一些知识
我们得知道rc.local本质上是一个shell脚本文件,可以把启动时需要执行的命令写在里面,启动时将按顺序执行。
另外这里补充个知识:/etc/rc.local其实是/etc/rc.d/rc.local的软链接,我们执行
ls -l /etc/rc.local
就可以查看到:
1 >lrwxrwxrwx. 1 root root 13 1月 15 16:32 /etc/rc.local -> rc.d/rc.local
怎么解决这个问题
首先我们执行命令cat /etc/rc.local
查看该文件内部的信息会发现Linux官方它已经不推荐我们在使用了。【其实我老早知道了……】
1 | [root@localhost ~]# cat /etc/rc.local |
上面的内容翻译出来的意思是:
1 | #这个文件是为了兼容性的问题而添加的。 |
接着我们查看/etc/rc.local的权限:
1 | [root@localhost ~]# ll /etc/rc.local |
此时我们会发现它没有执行权限,这里给它添加一下权限:
1 | [root@localhost ~]# chmod +x /etc/rc.d/rc.local |
最后我们执行一下重启服务命令:
1 | [root@localhost ~]# systemctl daemon-reload |
到此基本上解决了该问题,重启一下服务器证明一下它是否起效了。
最后我列一下命令,方便下次直接复制粘贴
1 |
|