在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
等命令查看)。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/27759.html