centos添加启动脚本
① centos7如何添加开机启动服务脚本
一、添加开机自启服务
在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例):
systemctl enable jenkins.service #设置jenkins服务为自启动服务sysstemctl start jenkins.service #启动jenkins服务
二、添加开机自启脚本
在centos7中增加脚本有两种常用的方法,以脚本autostart.sh为例:
#!/bin/bash#description:开机自启脚本/usr/local/tomcat/bin/startup.sh #启动tomcat
方法一
1、赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径)
chmod +x /opt/script/autostart.sh
1
2、打开/etc/rc.d/rc/local文件,在末尾增加如下内容
/opt/script/autostart.sh
3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local
方法二
1、将脚本移动到/etc/rc.d/init.d目录下
mv /opt/script/autostart.sh /etc/rc.d/init.d
2、增加脚本的可执行权限
chmod +x /etc/rc.d/init.d/autostart.sh
3、添加脚本到开机自动启动项目中
cd /etc/rc.d/init.dchkconfig --add autostart.shchkconfig autostart.sh on
② CentOS7部署开源WebDav服务,实现全端文件共享
在CentOS 7上部署开源WebDAV服务以实现全端文件共享,可以通过以下步骤进行:
选择WebDAV服务器:
- 使用由hacdias开发的Go语言WebDAV服务器,GitHub地址为github.com/hacdias/webdav。
基本配置:
创建启动脚本:
- 在/usr/lib/systemd/system/目录下创建一个名为webdav.service的启动脚本。
- 配置完成后,启动服务,并通过命令查看服务状态,确认服务已成功启动。
客户端连接:
- 可以使用如raiDrive等客户端进行连接测试,如能连接成功,表明文件上传功能已启用。
安全性增强:
- 考虑使用Nginx的443端口进行反向代理,以增强安全性。
- 通过查看WebDAV服务器的日志,确保所有连接正常。
跨平台访问:
- 对于iOS设备,可以通过WebDAV与苹果的客户端配合,实现文件同步。
总结: 通过以上步骤,你可以在CentOS 7上成功部署开源的WebDAV服务,实现全端文件共享。 确保端口开放、配置正确,以及使用反向代理等安全措施,以保障服务的稳定性和安全性。
③ Centos8 设置开机自启动脚本
CentOS 8 系统中,传统的 /etc/rc.local 文件已不再自动执行开机脚本,需要通过设置 rc.local 服务使其开机自启动。以下是设置步骤:
在CentOS 8 中,为确保开机时执行自定义脚本,需要首先理解rc.local服务的配置。首先,检查默认的 /etc/rc.local 状态,确认它是 /etc/rc.d/rc.local 的符号链接。
接着,编辑 /etc/rc.local 并添加你需要的开机启动命令,确保给予可执行权限。例如,创建一个在 /tmp 的 txt 文件:
1. 打开编辑器,添加一行启动命令,如:`touch /tmp/mytxt.txt`
2. 授予命令执行权限:`chmod +x /etc/rc.local`
然后,配置 rc.local 服务,确保 service 文件包含必要的启动指令,例如:
4. 启动 rc-local 服务:`systemctl start rc-local`
5. 为了开机自动执行,设置服务开机启动:`systemctl enable rc-local`
测试配置:重启系统后,检查/tmp 文件夹中是否生成了 txt 文件。如果成功,说明脚本没有问题。删除该文件后再次重启,确认文件在下次启动时仍存在,以验证 rc-local 服务配置正常。
对于 CentOS 7 中的 Nginx 安装,需要额外指定 yum 仓库来获取 Nginx 包。首先,创建一个 nginx.repo 文件,配置仓库地址,然后使用 yum 安装 Nginx 并启动它。Nginx 的配置文件位于 /etc/nginx 目录下,具体如下:
1. 安装 Nginx:`yum install nginx`
2. 配置文件位置:/etc/nginx/nginx.conf 和 /etc/nginx/conf.d/default.conf
3. 启动、停止和检查 Nginx 状态使用 systemctl 命令。
4. 访问 Nginx:在浏览器中输入服务器 IP 地址(默认80端口,如 `http://ip`)。
完成以上步骤后,CentOS 7 的 Nginx 安装就完成了。
④ CentOS7 设置开机自启动脚本
两种实现方式:
方法一: (rc.local)
1、因为在 centos7 中 /etc/rc.d/rc.local 的权限被降低了,所以需要赋予其可执行权
2、赋予脚本可执行权限
假设 /usr/local/sca/start.sh 是你的脚本路径,给予执行权限
3、打开 /etc/rc.d/rc.local 文件,在末尾增加如下内容
方法二: (chkconfig)
1、将脚本移动到 /etc/rc.d/init.d 目录下
2、增加脚本的可执行权限
3、添加脚本到开机自动启动项目中
chkconfig 启动脚本规范 在脚本开头加入下面内容:
注意:不添加以上内容的话添加启动项时会提示service myservice does not support chkconfig
Linux启动优先级:
⑤ CENTOS7开机自启动脚本
1、因为在centos7中 /etc/rc.d/rc.local 的权限被降低了,所以需要赋予其可执行权
2、赋予脚本可执行权限
假设 /usr/local/script/autostart.sh 是你的脚本路径,给予执行权限
3、打开 /etc/rc.d/rc.local 文件,在末尾增加如下内容
1、将脚本移动到 /etc/rc.d/init.d 目录下
2、增加脚本的可执行权限
3、添加脚本到开机自动启动项目中
chkconfig启动脚本规范 在脚本开头加入下面内容:
说明:chkonfig后面是启动级别和优先级,description后面是服务描述。如上面脚本意思是,
服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,停止的优先级是10。
优先级范围是0-100,数字越大,优先级越低。
Linux启动优先级
运行级别就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。
这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。
不同的运行级定义如下:(可以参考Linux里面的/etc/inittab)
⑥ CentOS使用脚本管理服务的详解
1、使用工具:chkconfig 管理/etc/rc.d/init.d或/etc/init.d/目录下的服务启动脚本。
要在服务启动脚本开头添加两行:
# chkconfig: 2345 88 12
# description: XXXXXXXXX XXXXXX
这样就可以使用工具:chkconfig 来管理服务启动脚本了。
使用工具:chkconfig 工具的好处:
没有使用该工具,我们要让一个服务在2、3、4、5级别上都运行,在其它级别上都不运行。要手动设置很多符号连接:
在/etc/rc.d/rc1.d 执行:[root@node2 rc1.d]# ln -sv K12nrped ../init.d/nrped
在/etc/rc.d/rc2.d 执行:[root@node2 rc2.d]# ln -sv S88nrped ../init.d/nrped
在/etc/rc.d/rc3.d 执行:[root@node2 rc3.d]# ln -sv S88nrped ../init.d/nrped
在/etc/rc.d/rc4.d 执行:[root@node2 rc4.d]# ln -sv S88nrped ../init.d/nrped
在/etc/rc.d/rc5.d 执行:[root@node2 rc5.d]# ln -sv S88nrped ../init.d/nrped
在/etc/rc.d/rc6.d 执行:[root@node2 rc6.d]# ln -sv K12nrped ../init.d/nrped
添加这些符号链接之后。运行级别改变时,该服务就会授脚本 rc 的控制。------> rc 脚本就会根据对应运行级别目录(/etc/rc.d/rc$runlevel.d)的符号标识:S、K 关闭、启动对应的服务。这样就实现了设置一个服务是否在一个运行级别上运行。
工具:chkconfig 就会根据服务运行脚本的 #chkconfig 行来,自动设置上述的符号链接。
[[email protected]]#chkconfigon
就会根据:# chkconfig: 2345 88 12 创建各运行级别上的符号链接。
2、为了使用工具: service 管理服务 脚本最少需要接收 start 和 stop 选项;
服务启动脚本要根据用户输入的选项:
stop -----> 关闭服务
start -----> 启动服务
reload -----> 告诉程序重读配置文件,改变程序的运行状态
restart ----> 重新启动服务
3、Lock directory for RedHat / SuSE
RedHat 管理服务的一种机制,要在/var/lock/subsys/目录下创建一个锁文件。
[[email protected]]#vim/etc/init.d/nrped
#!/bin/bash
#chkconfig:23458911
#description:NRPEDAENON
NRPE=/usr/local/nagios/bin/nrpe
OPTIONS="-c/etc/nagios/nrpe.cfg-d"
lockfile=/var/lock/subsys/nrped
prog=nrped
RETVAL=0
./etc/rc.d/init.d/functions
start(){
echo-n$"Starting$prog:"
daemon$NRPE$OPTIONS
RETVAL=$?
echo
[$RETVAL=0]&&touch${lockfile}
return$RETVAL
}
stop(){
echo-n$"Stopping$prog:"
killproc-d-10$NRPE
RETVAL=$?
echo
[RETVAL=0]&&rm-f${lockfile}
}
reload(){
echo-n$"Reloading$prog:"
killproc$NRPE-HUP
echo
}
case"$1"in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
status)
status$NRPE
;;
*)
echo"Usage:$0start|stop|restart|reload|status"
;;
esac
exit0