上一篇
Linux系统可通过
shutdown命令设置定时关机,shutdown -h +30
表示30分钟后关机,也可使用crontab
创建计划任务,或在指定时间点用at`命令执行关机操作,实现自动关机管理。
在Linux系统中,定时关机是一项实用功能,适用于服务器维护、节约能源或自动化任务等场景,以下是几种可靠的方法,所有操作均需终端权限(普通用户需在命令前加sudo):
方法1:使用shutdown命令(推荐)
shutdown是Linux内置的安全关机工具,支持精确到分钟的计划任务。
基本语法:
shutdown -h +[分钟] # 指定分钟后关机 shutdown -h [具体时间] # 指定24小时制时间关机
操作示例:

- 30分钟后关机:
sudo shutdown -h +30
- 今晚23:00关机:
sudo shutdown -h 23:00
取消定时关机:
sudo shutdown -c # 取消计划
方法2:通过cron计划任务(周期性任务)
cron适合每天/每周固定时间关机的场景。
步骤:

- 编辑当前用户的cron表:
crontab -e
- 在文件末尾添加一行(以下示例为每天凌晨2点关机):
0 2 * * * /sbin/shutdown -h now
- 时间格式:
分钟 小时 日 月 星期 - 命令需用完整路径(通过
which shutdown可查看路径)
- 时间格式:
方法3:使用at命令(单次任务)
at适用于一次性复杂计划(如指定具体日期)。
步骤:
- 启动
at交互界面(以下示例为明天22:30关机):echo "shutdown -h now" | at 22:30 tomorrow
- 查看任务队列:
atq
- 删除任务(根据
atq返回的ID号):atrm [任务ID]
注意事项
- 权限要求:
- 所有命令需
root权限(通过sudo或切换至root用户)。
- 所有命令需
- 数据安全:
关机前确保保存工作,避免数据丢失。

- 时间格式:
cron和at使用系统时区,确保时间设置正确。
- 替代命令:
- 若
shutdown不可用,可用halt或poweroff代替(如sudo poweroff 23:00)。
- 若
总结建议
- 临时计划 → 用
shutdown - 周期任务 → 用
cron - 复杂时间 → 用
at
引用说明基于Linux核心工具(shutdown/cron/at)的官方文档及Ubuntu、CentOS等主流发行版的最佳实践,技术细节参考《Linux命令行大全》(William Shotts)及Linux Man Pages(可通过
man shutdown等命令查看)。
