Answers:
近期的Ubuntu版本使用systemd,并且可以在未安装常规atd
和相关的一次性命令调度程序的情况下进行调度, 而该调度程序可以比手动生成a容易一些: at
systemd-run
systemd 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
。