暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

258

今天分享一下Linux服务器如何自动重启

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

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

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

1 设置定时重启(推荐)

使用crontab设置定时重启,适用于 固定时间重启服务器

使用 root 用户编辑定时任务:

crontab -e

  1. 添加以下内容:
# 每周六凌晨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

选择合适的方式,合理设置时间,结合日志与监控,就能让自动重启变得安全可控。

【温馨提示】:在生产环境中,重启是很慎重的事情,如非特殊需求,不要频繁重启,应优先优化服务自身的稳定性和内存使用。


如果需要提供技术支持或添加交流群,加V详聊:lige_linux

往期精彩文章:


K8S命令详解汇总【自用珍藏版】K8S集群部署 | K8S存储实战案例 |
K8S证书续签十年 | K8S部署Prometheus | Rancher部署并接管K8S |
Jenkins安装部署 | Gitlab安装部署 | 服务网格Istio安装及实战 |
搭建企业级Harbor仓库 | K8S对接Harbor仓库 | Docker常用命令汇总 |
Docker无法下载镜像解决办法 | 安装Docker的三种方法 | Docker基础概念汇总 |

Oralce19C RAC集群搭建 | Oracle集群管理命令汇总 | MySQL集群安装部署 |
MySQL一键备份脚本 | MySQL集群目录迁移 | Redis三主三从集群部署 |

150个Linux常用命令 |  8个有趣的Linux命令 | 主流Linux操作系统各版本网卡配置方法汇总,建议收藏!  |
Firewalld防火墙详细讲解 |  构建内部Yum源 | 超全的磁盘扩容方法 | 服务器带外管理知识

文章转载自运维李哥不背锅,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论