HCRM博客

如何编写并管理 CentOS 启动脚本?

在CentOS系统中,启动脚本的设置和管理是系统管理员日常工作中的一项重要任务,启动脚本通常用于在系统启动时自动执行一系列命令或程序,以完成特定的任务或服务,以下是对 CentOS 启动脚本的具体介绍:

创建启动脚本

1、编写脚本:需要编写一个shell脚本,这个脚本可以包含任何需要在系统启动时执行的命令或程序,可以创建一个名为start.sh的脚本,内容如下:

如何编写并管理 CentOS 启动脚本?-图1
(图片来源网络,侵权删除)
#!/bin/bash
echo '准备启动 frp...'
cd /root/clouddevice/frp/ & nohup /root/clouddevice/frp/frps c /root/clouddevice/frp/frps.ini > frps.log &
echo 'frp启动完毕!'
echo '准备启动 rethinkdb及stf...'
cd /root/clouddevice/stf
rethinkdb &
nohup stf local publicip 192.168.137.100 binddevpull tcp://0.0.0.0:7114 binddevpub tcp://0.0.0.0:7116 R > stf.log &
echo 'rethinkdb及stf 启动完毕!'

在这个脚本中,使用了nohup命令来确保命令在后台持续运行,即使用户注销也不会影响其执行。

2、赋予权限:编写完成后,需要给脚本赋予可执行权限,可以使用chmod命令来实现:

chmod +x start.sh

将脚本添加到开机自启动

在CentOS 7及更高版本中,推荐使用systemd来管理服务,可以将脚本配置为systemd服务,以便在系统启动时自动执行。

1、编写服务文件:在/usr/lib/systemd/system目录下创建一个新的服务文件,例如myscript.service如下:

[Unit]
Description=My Script Service
After=network.target remotefs.target nsslookup.target
[Service]
Type=forking
ExecStart=/path/to/your/start.sh
ExecReload=/path/to/your/reload.sh
ExecStop=/path/to/your/stop.sh
PrivateTmp=true
[Install]
WantedBy=multiuser.target

注意将/path/to/your/start.sh替换为实际的脚本路径。

2、重新加载systemd守护进程:使用以下命令重新加载systemd守护进程,使新的服务文件生效:

如何编写并管理 CentOS 启动脚本?-图2
(图片来源网络,侵权删除)
systemctl daemonreload

3、启用并启动服务:使用以下命令启用新服务,并在系统启动时自动启动:

systemctl enable myscript.service
systemctl start myscript.service

常见问题解答

1、如何检查服务状态?:可以使用systemctl status myscript.service命令来检查服务的状态,这将显示服务的当前状态、是否正在运行以及最近的日志条目。

2、如何停止和禁用服务?:要停止服务,请使用systemctl stop myscript.service命令;要禁用服务(即不再在系统启动时自动启动),请使用systemctl disable myscript.service命令。

通过上述步骤,可以在CentOS系统中成功创建并设置开机启动脚本,这不仅可以简化日常管理任务,还能确保系统在启动时自动执行关键任务和服务。

如何编写并管理 CentOS 启动脚本?-图3
(图片来源网络,侵权删除)

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/4354.html

分享:
扫描分享到社交APP
上一篇
下一篇