文档中心

Linux 服务器每天定时重启怎么设置?系统死机卡死自动重启配置教程

发布时间:2026-05-11 09:25:55     更新时间:2026-05-11 09:30:54

适配:CentOS 7/8/9Rocky LinuxAlma LinuxUbuntu 18.0424.04Debian 10/11/12操作系统
全程可复制粘贴,带详细注释,分 2 种常用场景

1.         定时每天固定时间自动重启(比如凌晨 3 点)

2.         系统卡死 / 崩溃自动重启(死机自己复活)

 

前置说明

          所有命令必须用 root 权限执行

          登录服务器后,切换至root用户:

bash
# 通用所有系统,输入后输密码切超级管理员
sudo -i

 

第一种:每日固定时间自动重启

适配:CentOSRockyAlmaUbuntuDebian 所有系统都能用

原理:用系统自带定时任务,到点自动重启,部分最小化安装的系统可能未启用定时任务服务,先执行:

bash                                                                                                                                       
# CentOS / Rocky / Alma Linux启动定时任务服务
yum install -y cronie       # 执行安装
systemctl enable crond --now   #
设置
crond开机自启并立即启动

# Ubuntu / Debian启动定时任务服务
apt install -y cron          #
执行安装
systemctl enable cron --now   #
设置cron开机自启并立即启动

 

1、编辑定时任务

复制直接输:

bash
crontab -e

2、首次会让你选编辑器

如系统提示选择编辑器,建议选 nano(输入编号回车即可);如未提示,直接使用即可

3、复制下面任意一行粘贴进去

推荐:每天凌晨 3 点整 自动重启

bash
# 分 时 日 月 周   执行重启命令
0 3 * * * /sbin/shutdown -r now

可选:每天凌晨 2 30 分 重启

bash
30 2 * * * /sbin/shutdown -r now

可选:每周日 凌晨 3 点重启

bash                                                                                                                                                                                                                                                           
0 3 * * 0 /sbin/shutdown -r now

4、保存退出(小白必看)

          Ctrl + O (字母 O

          回车 确认保存

          Ctrl + X 退出

5、查看是否设置成功

bash
# 查看当前定时任务
crontab -l

能看到你刚才粘贴的那行,就代表设置好了。

6、关闭定时自动重启

bash                                                                                                                                      
crontab -e

把里面重启那一行删掉,再按上面保存退出即可。

 

第二种:系统卡死 / 内核崩溃自动重启

作用:服务器死机、卡死、程序挂死、内核报错,等待 10 秒自动强制重启

⚠️ 警告:如果服务器因硬件故障(如内存损坏)持续 panicpanic=10 会导致无限重启,可能损坏文件系统,请立即进入恢复模式移除 panic=10 参数,并检查硬件日志。

通用操作步骤逻辑

1.         编辑开机引导配置

2.         加参数 panic=10 (崩溃 10 秒后重启)

3.         更新配置

4.         重启服务器生效

 

2.1CentOS / Rocky /Alma Linux 配置

2.1.1、编辑配置文件

bash
cp /etc/default/grub /etc/default/grub.bak.$(date +%Y%m%d)  # 编辑前备份

nano /etc/default/grub                                                                                                      

2.1.2、找到这一行

GRUB_CMDLINE_LINUX="xxxx"

在双引号里面最后面 加上:panic=10
示例改完后:

Plain Text
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet panic=10"

2.1.3、保存退出

Ctrl+O → 回车 → Ctrl+X

2.1.4、更新引导配置(二选一,只执行自己服务器对应的那条)

启动方式判断

bash
[ -d /sys/firmware/efi ] && echo "UEFI启动" || echo "BIOS启动"

# 输出示例:

BIOS启动    ← 看到这个,就用 BIOS 那条 grub 命令(情况1
UEFI启动    ← 看到这个,就用 UEFI 那条 grub 命令 (情况2

情况 1:普通 BIOS 启动服务器(物理机 / 老旧服务器选这条)

bash
grub2-mkconfig -o /boot/grub2/grub.cfg

情况 2UEFI 启动服务器(市面上绝大多数云服务器都选这条)

bash
# 先查看实际目录路径
ls /boot/efi/EFI/

# 再执行(将 <系统名> 替换为实际目录名,如 centos/rocky/almalinux
grub2-mkconfig -o /boot/efi/EFI/<
系统名>/grub.cfg

2.1.5、重启服务器生效

bash
reboot

2.1.6、验证参数是否生效

bash
cat /proc/cmdline | grep panic

如果输出包含 panic=10,说明配置成功。

 

2.2Ubuntu / Debian 配置

2.2.1、编辑配置文件

bash
cp /etc/default/grub /etc/default/grub.bak.$(date +%Y%m%d)   # 编辑前备份

nano /etc/default/grub

2.2.2找到 GRUB_CMDLINE_LINUX=

引号内加上 panic=10
示例:

Plain Text
GRUB_CMDLINE_LINUX="quiet splash panic=10"       #在原有参数后面追加 panic=10,不要删除原有内容。

2.2.3、保存退出

Ctrl+O → 回车 → Ctrl+X

2.2.4、更新引导

bash
update-grub

2.2.5、重启生效

bash                                                                                                                          
reboot

2.2.6、验证参数是否生效

bash
cat /proc/cmdline | grep panic

如果输出包含 panic=10,说明配置成功。

第三种:临时手动延时重启(Linux系统通用)

适合临时用,不用设置开机自启

bash
# 30分钟后自动重启
shutdown -r +30

#
立刻取消即将到来的重启
shutdown -c

 

必看注意事项

1.         生产有业务的服务器,不建议天天定时重启,闲置测试机、挂机脚本机可以随便用。

2.         panic=10 只作用于系统崩溃、卡死,正常运行不会乱重启。

3.         所有命令必须用 sudo -i 切换到 root 再执行,否则会因权限不足失败。

4.         不会用编辑器就记住:Ctrl+O 保存,回车,Ctrl+X 退出 就行。

全天候品质服务
全天候品质服务
快速客服响应
快速客服响应
客户价值为先
客户价值为先
多层安全防护
多层安全防护
QQ在线咨询
业务咨询:594128886
备案咨询:1165077278
微信扫码咨询
微信客服二维码

微信号:yuy1899

0451-85991100 工作日 09:00-18:00