Linux/Centos 开机自动执行脚本

Linux/Centos 开机自动执行脚本

      • 场景说明
      • 如何实现
      • 附录说明

场景说明

centos服务器开机自动启动nginx、tomcat等服务。

如何实现

这里我们通过【chkconfig】的方式实现

在/etc/rc.d/init.d目录下编写启动脚本
脚本如何写,可以看这个教程: Linux (CentOS)编写脚本

这里我的需求是启动 nginx 和 tomcat

  1. 进入目录 /etc/rc.d/init.d,这里脚本必须在这个目录中
cd /etc/rc.d/init.d
  1. 新建脚本
vi my_test.sh
  1. 脚本内容
#!/bin/sh
#chkconfig:2345 80 90
#decription:my_test

echo "=====开始执行开机后执行脚本====="

echo "=====开启nginx====="
/usr/local/nginx/sbin/nginx

echo "=====开启tomcat===="
su - root -c '/home/soft/tomcat01/apache-tomcat-8.5.82/bin/startup.sh'

这里将执行脚本替换为自己的脚本,我这里是开启nginx和tomcat命令。

编写完成后,按esc退出编辑模式,输入:wq保存退出

  1. 增加脚本的可执行权限
chmod +x  /etc/rc.d/init.d/my_test.sh
  1. 添加脚本到开机自动启动项目中
cd /etc/rc.d/init.d
 
chkconfig --add my_test.sh
 
chkconfig my_test.sh on

这时开机自动执行脚本就完成了
我们可以重启服务器试下是否生效

#重启服务器命令
reboot 

附录说明

第3步说明: chkconfig启动脚本规范 在脚本开头加入下面内容

#!/bin/sh
#chkconfig:2345 80 90
#decription:my_test

chkonfig后面是启动级别和优先级,description后面是服务描述。如上面脚本意思是,服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,停止的优先级是10。
优先级范围是0-100,数字越大,优先级越低。

注意:不添加以上内容的话添加启动项时会提示service myservice does not support chkconfig

你可能感兴趣的:(Linux,linux,centos,服务器)