Сценарий службы Systemd не регистрируется во время выключения

Фон

NetworkManager не запускает сценарии dispatcher.d / pre-down.d, поэтому я создал сценарий systemd-service. Он работает хорошо во время запуска и завершения работы, но во время выключения он не пишет в syslog. Файл /etc/iptables.rules обновляется во время выключения, но ничего не записывается в /var/log/syslog.

От терминала работает ...

systemctl restart network-down

. .. записывает информацию в syslog.

Фон

В моем служебном скрипте что-то отсутствует?

Сценарий: / etc / systemd / system / network-down.service:

[Unit] Description=Firewall Iptables Save Wants=network-online.target After=network.target network-online.target [Service] Type=oneshot ExecStart=/bin/true ExecStop=/bin/bash /etc/NetworkManager/dispatcher.d/pre-down.d/01-firewall-pre-down network pre-down RemainAfterExit=yes StandardOutput=syslog StandardError=syslog SyslogIdentifier=Firewall Iptables Save [Install] WantedBy=multi-user.target

Сценарий: /etc/systemd/system/network-down.service:

if [ -x /usr/bin/logger ]; then LOGGER="/usr/bin/logger -s -p daemon.info -t FirewallHandler[PREDOWN]" else LOGGER=echo fi case "$2" in pre-up) if [ ! -r /etc/iptables.rules ]; then ${LOGGER} "No iptables rules exist to restore." return fi if [ ! -x /sbin/iptables-restore ]; then ${LOGGER} "No program exists to restore iptables rules." return fi ${LOGGER} "Restoring iptables rules (pre-up)" /sbin/iptables-restore -c < /etc/iptables.rules ;; pre-down) if [ ! -x /sbin/iptables-save ]; then ${LOGGER} "No program exists to save iptables rules." return fi ${LOGGER} "Saving iptables rules. (pre-down)" /sbin/iptables-save -c > /etc/iptables.rules ;; *) ${LOGGER} "Nothing to do for case: ($2)" ;; esac
2
задан 15 December 2017 в 01:34

2 ответа

Изменить:

After=network.target network-online.target

на:

After=network.target network-online.target rsyslog.service

Теперь он должен записываться!

0
ответ дан 18 July 2018 в 01:27

Изменить:

After=network.target network-online.target

на:

After=network.target network-online.target rsyslog.service

Теперь он должен записываться!

0
ответ дан 24 July 2018 в 17:23

Другие вопросы по тегам:

Похожие вопросы: