Linux 如何设置自动重启?超简单教程

在实际运维场景中,我们可能会遇到以下情况:

某些服务长时间运行后出现内存泄漏;某些旧系统无法设置进程级重启机制;需要在非业务高峰期进行例行重启。

这时,设置 自动重启 就是一种简单且有效的运维手段。

1. 设置定时重启(推荐)

使用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.
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 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