Ste*_*ris 12
该at命令用于安排一次关闭未来的执行。
例如
% at 8pm Aug 31
at> echo hello
at> <EOT>
job 161 at Sat Aug 31 20:00:00 2019
Run Code Online (Sandbox Code Playgroud)
(“<EOT>”是通过按下 control-D 产生的)
% atq
161 Sat Aug 31 20:00:00 2019 a sweh
Run Code Online (Sandbox Code Playgroud)
你可以把你的shutdown命令放在这里。
虽然这at是执行此操作的明显方法,但我认为它会在关机后幸免于难,因此如果机器在预定关机之前重新启动,它可能会在预定时间再次关机。因此,使用 bash 和 GNU date 我们可以使用延迟关闭。
/sbin/shutdown +$(( ( $( date -d "30 may 2019 13:15" +%s ) - $( date +%s ) ) / 60 + 1 ))
注意:这仅精确到一分钟。它的工作原理是将预定时间和现在转换为自 UNIX 时代以来的秒数,计算差异,转换为分钟,然后将其用作关闭延迟。如果预定时间在过去,它将无法正常工作。
最近的 Ubuntu 版本使用 systemd,并且当一次性命令的常规atd和关联at调度程序未安装或未运行一次性命令时,可以使用systemd-run 它进行调度,这比手动生成一个更容易systemd timer:
systemd-run --on-calendar="2019-08-31 20:00:00 CET" /sbin/shutdown now
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2787 次 |
| 最近记录: |