再起動してシャットダウンするときにこのシェルスクリプトを実行したいと思います。
#!/bin/sh
touch /test
その権限は
-rwxr-xr-x 1 root root 22 Feb 24 09:34 /etc/init.d/te1
そして、それはこのリンクを持っています
/etc/rc0.d/K01te1 -> ../init.d/te1
/etc/rc6.d/K01te1 -> ../init.d/te1
このリンクがあれば、起動時に機能しています
/etc/rc5.d/S01te1 -> ../init.d/te1
しかし、シャットダウン時に実行する必要があります。
Debian 8および9のテストでこれを行うにはどうすればよいですか?
提案touch /var/lock/subsys/te1
が機能しませんでした。
他の人もこれを実行するのに問題があるようだという印象を受けました。 Debian 8.0(Jessie)systemdから開始すると、System V initとの互換性が失われるようです。
したがって、 ここ 代わりにsystemdサービスを作成することが提案されました。解決策は ここで使用 で、次のようになります。
[Unit]
Description=The te1 script
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/usr/local/bin/te1
[Install]
WantedBy=multi-user.target
Systemdサービスは/lib/systemd/system/te1.service
に保存し、Sudo systemctl enable te1
でインストールする必要があります。
あなたは少しの検索でそれを見つけることができたようですが:
/etc/rc6.dにスクリプトを置き、必要な権限を付与します。
Sudo chmod +x K99_script
といくつかのポイント:
。sh拡張子なし
K_99が必要
ここのスクリプトはアルファベット順に実行されます
読む ここ