
运维工作中经常需要服务器重启后某些服务要能自动运行起来. 下面介绍四种实现方式.
/etc/rc.local或/etc/rc.local 文件中设置系统启动后会执行
/etc/rc.d/rc.local,而/etc/rc.local是/etc/rc.d/rc.local的软连接.
vim /etc/rc.local
bash /root/script/start.sh
或
vim /etc/rc.d/rc.local
bash /root/script/start.sh
/etc/rc.d/rc3.d/ 目录添加启动脚本cd /etc/rc.d/rc3.d/
cat Sstart.sh
/usr/sbin/nginx
Sstart.sh脚本必须要S开头,否则不会被执行.
crontab 可以使用 @reboot 来执行主机启动之后的命令
crontab -e
@reboot /root/script/start.sh
这个脚本就可以在重启的时候自动执行了。
在启动 5 分钟后运行指定脚本
crontab -e
@reboot sleep 300 && /root/script/start.sh
编写一个名为 restart 的 Systemd 服务
vim /lib/systemd/system/restart.service
[Unit]
Description=restart
After=default.target
[Service]
ExecStart=/root/script/start.sh
[Install]
WantedBy=default.target
然后启用这个 Systemd 服务
systemctl daemon-reload
systemctl enable restart.service