是的,Debian 系统中的 systemd 定时器可以用于定时关机。以下是设置定时关机的步骤:
systemd 定时器创建一个服务文件: 首先,创建一个服务文件来定义关机操作。
sudo nano /etc/systemd/system/shutdown.service
在文件中添加以下内容:
[Unit]
Description=Shutdown the system at a specific time
[Service]
Type=oneshot
ExecStart=/sbin/shutdown -h now
保存并关闭文件。
创建一个定时器文件: 接下来,创建一个定时器文件来安排服务何时运行。
sudo nano /etc/systemd/system/shutdown.timer
在文件中添加以下内容:
[Unit]
Description=Run shutdown.service at a specific time
[Timer]
OnCalendar=*-*-* *:*:00 # 每天午夜关机,可以根据需要修改时间
Persistent=true
Unit=shutdown.service
[Install]
WantedBy=timers.target
这里的 OnCalendar 行定义了关机的时间。你可以根据需要修改时间格式,例如 2023-10-01 23:59 表示在特定日期和时间关机。
启用并启动定时器: 使用以下命令启用并启动定时器:
sudo systemctl enable shutdown.timer
sudo systemctl start shutdown.timer
检查定时器状态: 你可以使用以下命令检查定时器的状态:
sudo systemctl list-timers --all
cron 定时任务如果你更喜欢使用 cron,也可以通过编辑 crontab 文件来设置定时关机。
编辑 crontab 文件:
crontab -e
添加关机命令: 在文件末尾添加一行来设置关机时间。例如,每天午夜关机:
0 0 * * * /sbin/shutdown -h now
保存并关闭文件。
systemd 定时器时,确保系统时间准确,因为定时器依赖于系统时间。cron,同样需要确保系统时间准确。通过以上方法,你可以在 Debian 系统中设置定时关机。