使用 update-rc.d,我们可以添加和删除服务,并将它们添加到Ubuntu / Debian启动脚本中,实现开启自启动效果。

实现过程:

首先来到/etc/init.d/目录下,执行如下命令

cd /etc/init.d/

*1)新建个脚本文件 start_mysql.sh与s_mysql.sh*

#!/bin/bash
# command content
# start mysql

/home/s_mysql.sh

exit 0
#!/bin/bash
# start mysql

while :
do
        mysql_status=`/etc/init.d/mysql status | grep 'Active: ' | awk '{print $2}'`
        case $mysql_status in
                failed)
                        /etc/init.d/mysql start
                ;;
                active)
                      exit 0
                ;;
        esac
done

2)设置权限

sudo chmod +x start_mysql.sh
sudo chmod +x s_mysql.sh

3)将脚本添加到开机启动脚本

执行如下指令,在这里90表明一个优先级,越高表示执行的越晚 (优先级范围:0~90)

sudo update-rc.d start_mysql.sh defaults 90 

4)查看全部服务列表

sudo service --status-all

这时应该能看到新加开机启动脚本(new_service.sh的名字在列表中;说明开机时会启动这个sh脚本的。

附加:看到列表中,启动前面会可能出现以下三种状态de

  • [+] –具有此标志的服务当前正在运行。
  • [–] –具有此标志的服务当前未运行。
  • [?] –没有 状态开关的服务。

img 左图中只是列举一部分

5)检测start_mysql.sh能否正常运行

sudo service start_mysql.sh start

运行命令没报错,然后查脚本是否起作用,如果起作用了,那说明成功了;

然后重启电脑;等待一会(1~3分钟左右),查看是否自动开启脚本的功能。

服务的启动停止状态

xxx为第4步查询得来的启动服务(脚本)名字

sudo service xxx status
sudo service xxx start
sudo service xxx stop
sudo service xxx restart

其他

移除开机启动脚本

sudo rm /etc/init.d/start_mysql.sh

文章目录