关机时运行的脚本

关机时运行的脚本

我正在尝试创建与rc.local启动期间最后运行但在关闭期间首先运行的等效项。

我基本上复制/粘贴/etc/init.d/rc.local为基本模板,并将标题更新为

#! /bin/sh
### BEGIN INIT INFO
# Provides:          rc.shutdown
# Required-Start:
# Required-Stop:     $all
# Default-Start:
# Default-Stop:      0
# Short-Description: Executes rc.shutdown if exists
# Description:
### END INIT INFO

然而,当我跑步时update-rc.d rc.shutdown enable,我得到

update-rc.d:错误:rc.shutdown 默认启动不包含运行级别,正在中止。

这是一个关闭脚本,因此没有默认启动。有趣的是,该文件/etc/init.d/halt具有相同的头文件,但似乎没有问题。

我使用的是 Debian 8.1

答案1

考虑到您使用的是 8.1,您可以使用 systemd 来获得您想要的东西(不确定您是否可以接受,但它可以完成工作)。

这是一个单元文件的示例,它将在关闭时执行您想要的任何内容,然后执行正常的关闭内容:

[Unit]
Description=Run first at shutdown
DefaultDependencies=no
Before=shutdown.target halt.target


[Service]
ExecStart=/usr/local/bin/runme
Type=oneshot

您可以将此文件放入 中/etc/systemd/system/runme.service,并使用 启用它systemctl enable /etc/systemd/system/runme.service。然后它将在关闭或停止之前自动运行。

相关内容