Linux 如何设置自动重启?超简单教程
在实际运维场景中,我们可能会遇到以下情况:
某些服务长时间运行后出现内存泄漏;某些旧系统无法设置进程级重启机制;需要在非业务高峰期进行例行重启。这时,设置 自动重启 就是一种简单且有效的运维手段。
使用crontab设置定时重启,适用于 固定时间重启服务器。
使用 root 用户编辑定时任务:
复制
crontab -e1.
添加以下内容:
复制
# 每周六凌晨3点自动重启
0 3 * * 6 /sbin/shutdown -r now1.2.
说明:
/sbin/shutdown -r now 表示立即重启;确保命令路径正确(有的系统使用 /usr/sbin/shutdown);使用 crontab -l 可查看当前定时任务。2. 一次性延时重启(临时)可以通过 at 命令设置延时一次性重启,适合临时性维护。
复制
echo "reboot" | at now + 30 minutes1.
安装 at 工具:如果没有安装,需要先安装一下
复制
# Ubuntu/Debian
sudo apt install at
# RHEL/CentOS
sudo yum install at1.2.3.4.5.
启动 atd 服务:
复制
systemctl enable atd
systemctl start atd1.2.
如果你希望写一个自动重启脚本,可将其拓展为带日志、健康检查、告警通知等逻辑的脚本。
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 now1.2.3.4.5.
设置执行权限:
复制
chmod +x /opt/scripts/auto_reboot.sh1.
设置 crontab:
复制
sudo crontab -e1.
添加定时任务,例如每周六凌晨 3点重启:
复制
0 3 * * 6 /opt/scripts/auto_reboot.sh1.
选择合适的方式,合理设置时间,结合日志与监控,就能让自动重启变得安全可控。
【温馨提示】:在生产环境中,重启是很慎重的事情,如非特殊需求,不要频繁重启,应优先优化服务自身的稳定性和内存使用。
阅读剩余
THE END