我正在尝试创建与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
。然后它将在关闭或停止之前自动运行。