VirtualBox中CentOS虚拟机设置定时关机的方法(均在虚拟机内部操作)
延时关机(相对时间):通过+分钟数指定关机延迟时间,系统会向所有登录用户发送通知。例如,30分钟后关机:
sudo shutdown -h +30
绝对时间关机:通过HH:MM(24小时制)指定具体关机时间(如当天或未来某天)。例如,当天22:30关机:
sudo shutdown -h 22:30
取消定时关机:若需撤销已设置的关机任务,执行:
sudo shutdown -c
说明:-h参数表示关机(halt),sudo用于获取root权限(普通用户需输入密码)。
步骤1:安装at工具(若未安装):
sudo yum install at -y # CentOS 7及以下
sudo dnf install at -y # CentOS 8及以上
步骤2:启动at服务并设置开机自启:
sudo systemctl start atd
sudo systemctl enable atd
步骤3:创建at任务:
输入sudo at 时间(如sudo at 17:00 tomorrow表示明天17:00),进入at交互界面,输入关机命令后按Ctrl+D结束输入:
at> shutdown -h now
at> <EOT> # 按Ctrl+D
步骤4:查看/删除at任务:
atq(显示任务编号);atrm 任务编号(如atrm 1删除编号为1的任务)。步骤1:编辑当前用户的crontab文件:
crontab -e
步骤2:添加定时关机规则:
在文件末尾添加一行,格式为分钟 小时 * * * /sbin/shutdown -h now(*表示任意日期/月份)。例如:
59 23 * * * /sbin/shutdown -h now;0 22 * * 1-5 /sbin/shutdown -h now。Ctrl+X→Y→Enter保存,cron会自动加载新任务。sudo或在crontab中以root用户编辑(sudo crontab -e);