shutdown命令(一次性定时关机)shutdown是CentOS中最常用的安全关机命令,可通过+分钟数或具体时间设置定时关机。
sudo shutdown -h [时间参数]
sudo shutdown -h +10(系统会向所有登录用户发送广播通知)。sudo shutdown -h 23:30。sudo shutdown -c即可终止任务。at命令(一次性定时关机)at命令适合设置单次执行的关机任务,灵活性更强。
at工具(若未安装):sudo yum install at -y(CentOS 7/8)或sudo dnf install at -y(CentOS 9+)。atd服务并设置开机自启:sudo systemctl start atd;sudo systemctl enable atd。at任务:输入sudo at [时间](如sudo at 18:00),然后在at>提示符下输入关机命令shutdown -h now,最后按Ctrl+D结束输入。at任务:
at任务:atq或at -l;atrm 1或at -d 1。cron定时任务(周期性定时关机)cron适合设置每天/每周/每月重复执行的关机任务,需编辑用户的crontab文件或系统级/etc/crontab文件。
crontab:crontab -e(若需root权限,使用sudo crontab -e)。分钟 小时 日 月 星期 命令):
59 23 * * * /sbin/shutdown -h now(/sbin/shutdown需指定完整路径,可通过which shutdown查看)。0 2 * * 0 /sbin/shutdown -h now(0代表周日)。vim中按:wq),cron会自动加载新任务。cron服务运行:sudo systemctl status crond(若未运行,执行sudo systemctl start crond并sudo systemctl enable crond);cron任务,执行crontab -l;若需删除所有任务,执行crontab -r。若希望通过VirtualBox管理虚拟机的自动关机,可通过以下步骤设置(需虚拟机开启“启用关机按钮”):
VBoxManage controlvm <虚拟机名称> acpipowerbutton)触发虚拟机关机,但无法直接设置定时关机,需配合外部脚本(如宿主机的cron任务)调用。shutdown、poweroff等命令需root权限,建议使用sudo或在crontab中以root用户编辑(如sudo crontab -e)。/var/log/auto_shutdown.log),便于排查问题(示例:59 23 * * * /sbin/shutdown -h now >> /var/log/auto_shutdown.log 2>&1)。cron的分钟(0-59)、小时(0-23)等字段,防止因格式错误导致意外关机。