如何優雅的在 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/
本文連結:http://www.yunweipai.com/40250.html
「其他文章」
- 什麼是社會工程學?看完才知道多可怕!
- 護網行動面試題目彙總
- 開發者們偏愛 Linux 作業系統的 9 個理由!
- 2022年10大頂級網路安全工具
- kali選單中各工具的功能
- Go 記憶體管理
- 一份簡單夠用的 Nginx Location 配置講解
- Linux 磁碟空間被吃掉了?這樣排查不背鍋!
- Linux中解除安裝提示裝置正忙怎麼辦?
- 介紹一款地理資料視覺化神器——keplergl
- Podman常用命令總結
- Kubernetes限制節點啟動的Pod數量
- Python實現進階版人臉識別
- 常見內網穿透工具使用總結
- linux命令最佳【alias別名】工具
- 分享18個 實用 Linux 運維命令及知識
- Go 實現 Nginx 加權輪詢演算法
- 超詳細的秒殺架構設計,運維,瞭解一下
- iptables 詳解
- Minikube 入門初體驗