CentOS服务自启动

1、前言

有些服务比如mysql、redis、samba、nginx等服务,需要开机自启动,否则开机后,一个个操作也比较浪费时间。

2、操作

2.1、编写脚本

注意:脚本执行的目录必须是绝对地址,否则找不到

[root@AlexWong docker]# vim init.sh
#!/bin/bash
# 机器重启时,服务需要自启动
# mysql
sh /docker/mysql/start.sh

# redis
sh /docker/redis/start.sh

# samba
sh /docker/samba/start.sh

# fastdfs
sh /docker/fastdfs/start.sh

# nginx
sh /docker/nginx/start.sh

2.2、配置脚本

# 脚本移动到/etc/rc.d/init.d目录下
[root@AlexWong docker]# cp init.sh  /etc/rc.d/init.d
# 增加脚本的可执行权限
[root@AlexWong docker]# chmod +x  /etc/rc.d/init.d/init.sh
# 添加脚本到开机自动启动项目中
[root@AlexWong docker]# cd /etc/rc.d/init.d
[root@AlexWong init.d]# chkconfig --add init.sh
[root@AlexWong init.d]# chkconfig init.sh on

2.3、问题

在chkconfig添加自启动脚本,报错:

[root@AlexWong init.d]# chkconfig --add init.sh
service init.sh does not support chkconfig

添加下面两句到 #!/bin/bash 之后。

# chkconfig: 2345 10 90
# description: autostart server

其中2345是默认启动级别,级别有0-6共7个级别。

等级0表示:表示关机

等级1表示:单用户模式

等级2表示:无网络连接的多用户命令行模式

等级3表示:有网络连接的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动

​ 10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低。

3、总结

所以最终脚本为:

[root@AlexWong init.d]# vim init.sh
#!/bin/bash
#chkconfig:2345 10 90
#description:autostart server

# 机器重启时,服务需要自启动

# mysql
sh /docker/mysql/start.sh

# redis
sh /docker/redis/start.sh

# samba
sh /docker/samba/start.sh

# fastdfs
sh /docker/fastdfs/start.sh

# nginx
sh /docker/nginx/start.sh

重启机器

[root@AlexWong ~]# docker ps
CONTAINER ID   IMAGE                COMMAND                  CREATED        STATUS                  PORTS                                                                   NAMES
242a11b8f1a2   mynginx   "/docker-entrypoint.…"   14 hours ago   Up 14 hours             80/tcp, 0.0.0.0:8090->8090/tcp                                            nginx-test
9e21d08f85bf   delron/fastdfs       "/usr/bin/start1.sh …"   14 hours ago   Up 14 hours             8080/tcp, 0.0.0.0:8898->8898/tcp, 22122/tcp, 0.0.0.0:25000->25000/tcp   storage-test
670c7924b2b0   delron/fastdfs       "/usr/bin/start1.sh …"   14 hours ago   Up 14 hours             8080/tcp, 8888/tcp, 23000/tcp, 0.0.0.0:22322->22322/tcp                 tracker-test
e2d783934fcb   mysamba   "/sbin/tini -- /usr/…"   14 hours ago   Up 14 hours (healthy)   0.0.0.0:139->139/tcp, 137-138/udp, 0.0.0.0:445->445/tcp                 samba-test
af8ee1fc0582   myredis   "docker-entrypoint.s…"   14 hours ago   Up 14 hours             0.0.0.0:6379->6379/tcp                                                  redis-test
9be53b84b7c1   mymysql   "docker-entrypoint.s…"   14 hours ago   Up 14 hours             0.0.0.0:3306->3306/tcp, 33060/tcp                                       mysql-test

自启动测试通过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值