(我已经搜索过此问题的答案,但似乎都是针对旧版本的 Ubuntu。)
是否有类似的 crontab 触发器(例如用于关机脚本的“@reboot”),如果没有,为什么?
答案1
不,因为 @reboot 是
启动时运行一次。
但是以这种方式在关机时运行脚本是没有意义的,因为您的系统正在关闭,并且系统会“杀死”您的脚本。
当您shutdown
的系统时,它会首先发送 SIGTERM 并等待一段时间才会终止任何程序,以便您可以对此做出反应。方法如下。
答案2
我不明白为什么你会想在系统关闭时从 cron 运行脚本,也许我忽略了什么。与其在关机时运行脚本,为什么不在调用关机命令之前运行一个脚本来执行你需要它做的事情呢?例如,调用脚本 preshutdown.sh:
Run command 1 and output results to a log file.
Run command 2 and append results to the log file ....etc
Shutdown when finished with sudo shutdown -h now
下次启动系统时,您可以查看日志以查看脚本中运行的命令的结果。
编辑:准确回答 OP 的问题,没有用于关机的 crontab 触发器。如果您想在按下 GUI 中的“关机”按钮时或在终端中运行关机命令时运行脚本,请将它们放在 /etc/rc6.d 中,它们将按字母顺序执行。它们的名称必须以 K99 开头,并且必须是可执行的。