CentOS 7 でシャットダウンスクリプトを実行したいと考えております。
事象
systemd
1[Unit] 2Description=my-oneshot 3After=network.target 4Before=shutdown.target reboot.target 5Requires=network.target 6 7[Service] 8Type=simple 9ExecStart=/bin/bash -v '/usr/local/bin/my-up.sh' 10ExecStop=/bin/bash -v '/usr/local/bin/my-down.sh' 11RemainAfterExit=true 12 13[Install] 14WantedBy=multi-user.target
上記の内容で、/usr/lib/systemd/system 配下に my-shutdown-cmd.service という Unit ファイルを作成し、 reboot
コマンドにより OS の再起動を実行しましたが、スクリプトが実行されておりません。
確認したこと
- サービスが正常に起動していること
sytemctl status my-shutdown-cmd.service
により、Active になっていることを確認しています。
- 起動スクリプトが正常に起動していること
サービス起動時、 ExecStart
に記述したコマンドが実行されていることを確認しています。
- 手動でサービス停止時に停止スクリプトが正常に起動していること
systemctl stop my-shutdown-cmd.service
によりサービスを手動で停止した場合、正常に停止スクリプトが実行されていることを確認しています。
- OS 再起動時、サービスの停止がされていない可能性があること
OS の再起動を実行した際、Syslog で systemd: Stopping my-oneshot...
というようなメッセージが出力されていませんでした。
なお、上記 3. の確認をした際は、 systemd: Stopping my-oneshot...
というメッセージが出力されることを確認しています。
補足
'/usr/local/bin/my-up.sh' および '/usr/local/bin/my-down.sh' は、 logger
によりログを出力するだけのスクリプトです。
以上となります。
何か単純なミスのような気がして大変恐縮ですが、よろしくお願いいたします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/08 14:43
2018/01/08 15:46