L

Linux定时重启命令

HB 杂类 2022-10-14

在 Linux 系统中,可以通过 cron 或 systemd 实现定时重启功能。以下是两种常用方法的详细步骤:

使用 Cron 定时任务

步骤 1:编辑 Cron 配置文件

使用 root 用户登录终端,输入以下命令:

crontab -e

步骤 2:添加定时重启任务

在文件末尾添加以下内容,例如每天凌晨 2:30 重启:

30 2 * * * /sbin/reboot

时间格式为:分钟 小时 日 月 星期。

步骤 3:保存并退出

按 Ctrl + O 保存,按 Ctrl + X 退出。

步骤 4:启动 Cron 服务

确保 Cron 服务已启动并设置为开机自启:

systemctl enable crond.service
systemctl restart crond.service

使用 Systemd 定时器

步骤 1:创建服务文件

创建一个新的服务文件:

sudo touch /etc/systemd/system/reboot.service

编辑该文件并添加以下内容:

[Unit]
Description=Reboot Service

[Service]
Type=oneshot
ExecStart=/sbin/reboot

[Install]
WantedBy=multi-user.target

保存并退出。

步骤 2:创建定时器文件

创建一个定时器文件:

sudo touch /etc/systemd/system/reboot.timer

编辑该文件并添加以下内容:

[Unit]
Description=Reboot Timer

[Timer]
OnCalendar=*-*-* 02:30:00

[Install]
WantedBy=timers.target

OnCalendar 格式为:年-月-日 时:分:秒。

步骤 3:启用定时器

启用并启动定时器:

sudo systemctl enable --now reboot.timer

验证与注意事项

验证任务是否生效: 对于 Cron,运行 crontab -l 查看任务列表。 对于 Systemd,运行 systemctl list-timers 查看定时器状态。

确保系统时间正确,可通过 date 命令检查当前时间。

使用 reboot 命令会立即重启系统,请确保在非高峰期执行以避免影响业务。

两种方法均可实现定时重启,根据需求选择适合的方式。

查看任务是否成功执行(可选)
如果想确认任务是否执行,可以查看reboot记录,查看所有重启记录:

last reboot

查看最近一次重启:

last reboot | head -1

这样,系统就会按照设置的时间自动重启。

运行 crontab -e 时,实际上编辑的是与当前用户关联的定时任务文件,存储位置如下:
对于普通用户,例如,如果你的用户名是 john,对应的文件路径是:

/var/spool/cron/crontabs/john

对于 root 用户:

/var/spool/cron/crontabs/root

对于普通用户使用 sudo crontab -e :

/var/spool/cron/crontabs/root
PREV
apt-get remove用法
NEXT
1panel面板安装