Linux配置开机运行shell脚本,启动某些服务,防止服务器重启导致服务故障
作者:互联网
两种方式,主要介绍方式二 1)/etc/rc.local 开机时,最后会找到这个文件中写入的每行内容,执行 2)/etc/init.d/ 开机时,会根据系统配置,到这个目录中,找到对应的服务
以user-server.sh脚本为例, 脚本内容如下:#!/bin/sh # chkconfig: - 85 15 # description: nginx is a World Wide Web server. It is used to serve #添加启动权限 chmod +x /etc/rc.d/rc.local #启动nginx cd /usr/local/nginx/sbin/ && ./nginx -c /usr/local/nginx/conf/nginx.conf echo 'cd /usr/local/nginx/sbin/ && ./nginx -c /usr/local/nginx/conf/nginx.conf' >> /etc/rc.d/rc.local #启动redis cd /usr/local/bin/ && redis-server /opt/redis-6.2.5/redis.conf& echo 'redis-server /opt/redis-6.2.1/redis.conf&' >> /etc/rc.d/rc.local注意: # chkconfig: - 85 15 # description: nginx is a World Wide Web server. It is used to serve 必须要有,否则运行chkconfig会报错如下内容: service user-server.sh does not support chkconfig 对于在windows下编辑的sh脚本,移动到linux上后, 使用命令./user-server.sh出现如下报错 bash: ./user-server.sh: /bin/sh^M: bad interpreter: No such file or directory 原因是文件的格式是dos,需要修改为unix 查看文件格式 ,用vim 打开出错的文件,按 ESC键, 再按shift+冒号,输入 set ff 回车 后可以看见该文件的格式 fileformat=dos 按shift + 冒号 输入 set ff=unix 回车 可以按 shift + 冒号 set ff 查看 fileformat=unix
1、将脚本移动到/etc/rc.d/init.d目录下 2、增加脚本的可执行权限 chmod +x /etc/rc.d/init.d/user-server.sh 3、添加脚本到开机自动启动项目中 cd /etc/rc.d/init.d chkconfig --add user-server.sh chkconfig user-server.sh on 管理开机启动(添加/删除) chkconfig user-server.sh on chkconfig user-server.sh off
4、chkconfig 功能说明:检查,设置系统的各种服务。
- 语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]
- --add 添加服务
- --del 删除服务
- --list 查看各服务启动状态
标签:shell,服务,rc,server,nginx,sh,Linux,chkconfig,local 来源: https://www.cnblogs.com/luckystar-ford/p/15183622.html