当前位置:首页 > Linux > 正文

Linux怎么定时关机

Linux系统可通过 shutdown命令设置定时关机,shutdown -h +30 表示30分钟后关机,也可使用crontab 创建计划任务,或在指定时间点用at`命令执行关机操作,实现自动关机管理。

在Linux系统中,定时关机是一项实用功能,适用于服务器维护、节约能源或自动化任务等场景,以下是几种可靠的方法,所有操作均需终端权限(普通用户需在命令前加sudo)


方法1:使用shutdown命令(推荐)

shutdown是Linux内置的安全关机工具,支持精确到分钟的计划任务

基本语法

Linux怎么定时关机 第1张

操作示例

  1. 30分钟后关机: sudo shutdown -h +30
  2. 今晚23:00关机: sudo shutdown -h 23:00

取消定时关机

Linux怎么定时关机 第2张

sudo shutdown -c # 取消计划


方法2:通过cron计划任务(周期性任务)

cron适合每天/每周固定时间关机的场景。

步骤

Linux怎么定时关机 第3张

  1. 编辑当前用户的cron表: crontab -e
  2. 在文件末尾添加一行(以下示例为每天凌晨2点关机): 0 2 * * * /sbin/shutdown -h now
    • 时间格式:分钟 小时 日 月 星期
    • 命令需用完整路径(通过which shutdown可查看路径)


方法3:使用at命令(单次任务)

at适用于一次性复杂计划(如指定具体日期)。

步骤

  1. 启动at交互界面(以下示例为明天22:30关机): echo "shutdown -h now" | at 22:30 tomorrow
  2. 查看任务队列: atq
  3. 删除任务(根据atq返回的ID号): atrm [任务ID]


注意事项

  1. 权限要求
    • 所有命令需root权限(通过sudo或切换至root用户)。
  2. 数据安全

    关机前确保保存工作,避免数据丢失。

  3. 时间格式
    • cron和at使用系统时区,确保时间设置正确。
  4. 替代命令
    • 若shutdown不可用,可用halt或poweroff代替(如sudo poweroff 23:00)。

总结建议

  • 临时计划 → 用shutdown
  • 周期任务 → 用cron
  • 复杂时间 → 用at

引用说明基于Linux核心工具(shutdown/cron/at)的官方文档及Ubuntu、CentOS等主流发行版的最佳实践,技术细节参考《Linux命令行大全》(William Shotts)及Linux Man Pages(可通过man shutdown等命令查看)。

0