Answers:
近期的Ubuntu版本使用systemd,并且可以在未安装常规atd和相关的一次性命令调度程序的情况下进行调度, 而该调度程序可以比手动生成a容易一些: atsystemd-runsystemd timer
systemd-run --on-calendar="2019-08-31 20:00:00 CET" /sbin/shutdown now
该at命令用于计划将来执行一次。
例如
% at 8pm Aug 31
at> echo hello
at> <EOT>
job 161 at Sat Aug 31 20:00:00 2019
(“ <EOT>”是通过按Control-D产生的)
% atq
161 Sat Aug 31 20:00:00 2019 a sweh
您可以将shutdown命令放在这里。
at发布的时间- at总体上来说绝对是为了这个目的,尽管在公司中可接受的方法可能是at或cron,具体取决于与配置管理/部署相关的约定。
at还能够从管道中接收命令:echo "echo yup > $(tty)" | at now。
您使用更好的shutdown命令。
van Smoorenburg,Upstart和systemd shutdown命令不允许指定日期。但是BSD shutdown命令在其何时关闭的规范中采用日期值,格式为yymmddhhmm。从4BSD开始就是这种情况,而FreeBSD和OpenBSD仍然如此。NetBSD将其扩展到ccyymmddhhmm。
因为nosh工具集也可在BSD上使用,所以我给了shutdown命令相同的功能,将其扩展到了CCYYMMDDHHMM每个NetBSD。而且由于nosh工具集也可以在Linux上使用,因此可以给Linux一个带日期的shutdown命令。
它当然适用于nosh system-manager。它也可以与其他一些系统一起使用。它将信号发送到进程#1来制定内容,其他一些系统管理器(例如)systemd也可以理解相同的信号,也可以使用它来关闭该信号。
您可以使用它或类似的工具;或者您可以说服其他Linux shutdown程序的作者扩展其工具,使其具有与BSD一样的功能shutdown。
shutdown。nosh工具集手册页。软件。system-manager。nosh工具集手册页。软件。shutdown。 系统管理员手册。NetBSD手册页。2011-11-04。shutdown。 FreeBSD系统管理员手册。2018年1月1日。shutdown。OpenBSD手册页。2015年1月21日。可以输入shutdown命令的年份,但是cron只能在特定的时间点运行一次命令。例如,尝试
0 0 31 8 ? 2019 shutdown
当心:以上不是标准的cron语法。
year在该领域crontab的时间表
shutdown。正如我在另一个答案中所写的那样,想要这样做的人可以尝试说服系统的人们shutdown使用数十年的语法使他们的工具更加强大,而不是带着systemd-run。