Linux 如何設置自動重啟?超簡單教程
在實際運維場景中,我們可能會遇到以下情況:
- 某些服務長時間運行后出現內存泄漏;
- 某些舊系統無法設置進程級重啟機制;
- 需要在非業務高峰期進行例行重啟。
這時,設置 自動重啟 就是一種簡單且有效的運維手段。
1. 設置定時重啟(推薦)
使用crontab設置定時重啟,適用于 固定時間重啟服務器。
使用 root 用戶編輯定時任務:
crontab -e
添加以下內容:
# 每周六凌晨3點自動重啟
0 3 * * 6 /sbin/shutdown -r now
說明:
- /sbin/shutdown -r now 表示立即重啟;
- 確保命令路徑正確(有的系統使用 /usr/sbin/shutdown);
- 使用 crontab -l 可查看當前定時任務。
2. 一次性延時重啟(臨時)
可以通過 at 命令設置延時一次性重啟,適合臨時性維護。
echo "reboot" | at now + 30 minutes
安裝 at 工具:如果沒有安裝,需要先安裝一下
# Ubuntu/Debian
sudo apt install at
# RHEL/CentOS
sudo yum install at
啟動 atd 服務:
systemctl enable atd
systemctl start atd
3. 寫腳本 + 定時觸發
如果你希望寫一個自動重啟腳本,可將其拓展為帶日志、健康檢查、告警通知等邏輯的腳本。
auto_reboot.sh:
#!/bin/bash
LOG_FILE="/var/log/auto_reboot.log"
echo "$(date "+%Y-%m-%d %H:%M:%S") 自動重啟執行" >> "$LOG_FILE"
/sbin/shutdown -r now
設置執行權限:
chmod +x /opt/scripts/auto_reboot.sh
設置 crontab:
sudo crontab -e
添加定時任務,例如每周六凌晨 3點重啟:
0 3 * * 6 /opt/scripts/auto_reboot.sh
選擇合適的方式,合理設置時間,結合日志與監控,就能讓自動重啟變得安全可控。
【溫馨提示】:在生產環境中,重啟是很慎重的事情,如非特殊需求,不要頻繁重啟,應優先優化服務自身的穩定性和內存使用。