linux设置开机自启踩坑
前言
相信有一定linux基础的人都知道在linux的 /etc/profile
和 /etc/rc.local
文件中添加相关shell语句能设置开机自动执行,在实际使用过程中你真的了解他俩的区别嘛。
我我我,通过实际踩坑总算是整明白了其中的门道
1.在/etc/profile文件中设置
此处踩坑!!!
在 /etc/profile/
中添加自启脚本语句后reboot重启,ssh登录后发现服务正常启动。
but 在某天开机时未登录系统,也就是没有输入用户名密码时,在外面访问设置自启的服务时发现访问 挂了!
ssh登录系统后发现服务又正常了,经过各种排查,发现只有在 用户登录系统 后 /etc/profile
文件中的语句才会执行。
2.在/etc/rc.local文件中设置
而 /etc/rc.local
文件中的内容则能在系统启动时就执行,于是采用此方式达到脚本开机自启的目的
修改该文件如下:
#!/bin/bash
##注意此处需要设置为bash文件类型
##你的shell语句
较高版本的ubuntu系统没有 rc.local
文件!!!需要自己添加,然后赋执行权限后设置软链,ln -s xxx
自行百度解决
总结
linux开机自启文件/etc/profile文件需要用户登录后才会启动。而/etc/rc.local文件在系统启动时就随之启动。
启动优先级/etc/rc.local > 用户登录 > /etc/profile
本来想用
/etc/init.d/
文件夹下添加sh脚本,使用chkconfig进行开机自启设置,然后突然发现ubuntu没有chkconfig命令,遂放弃万恶的ubuntu,还是centos好
手机真的不方便写文章,用的还是md编辑器
字数较多,无图片导致阅读困难,望见谅!