如何優雅的在 Linux 下開機自動重啓腳本
1 簡介
經常碰到機器斷電之後需要重啓一大堆服務,爲了防止這種事情發生,設置開機自啓的腳本十分的重要,我們習慣性的做法就是編寫一個重啓腳本,然後在 /etc/rc.local
中去完成開機執行。例如下面這樣:
$ cat /etc/rc.local
bash /root/script/restart.sh
這樣的方法雖然可行,但並不優雅。今天我們就給大家介紹兩種更好的實現方式:
2 通過 Crontab 實現
Crontab 可以使用 @reboot
來執行主機啓動之後的命令。首先在命令行輸入:
$ crontab -e
然後添加以下內容:
@reboot /root/script/restart.sh
完成後,這個腳本就可以在重啓的時候自動執行了。
其它的一些進階玩法:
- 在啓動完成後的指定時間內運行腳本
# 在啓動 5 分鐘後運行指定腳本
@reboot sleep 300 && /home/wwwjobs/clean-static-cache.sh
3 通過 Systemd 實現
首先編寫一個名爲 restart 的 Systemd 服務:
$ vim /lib/systemd/system/restart.service
[Unit]
Description=restart
After=default.target
[Service]
ExecStart=/root/script/restart.sh
[Install]
WantedBy=default.target
然後啓用這個 Systemd 服務:
$ systemctl daemon-reload
$ systemctl enable restart.service
完成後,這個服務對應的腳本就可以自動開機自啓了。
4 參考文檔
-
https://www.google.com
-
https://tinyurl.com/6ryafefw
-
https://www.cyberciti.biz/faq/linux-execute-cron-job-after-system-reboot/
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/yGlu8Zi9WPERDE_EULEsNQ