Я бьюсь уже 2 дня и не приближайся к разуму. Пусть кто-нибудь там знает ...
моя цель - иметь скрипт выключения, который останавливает некоторые мои собственные сервисы и что-то еще каждый раз, когда система перезагружается или выключается.
, поэтому я упростил свой тестовый скрипт и сделал следующее:
Создание скрипта: /etc/rc.shutdown Содержимое:
#!/bin/sh -e
#
# rc.shutdown
#
#
# just for test
echo "last shutdown or reboot:" > /var/log/rc.shutdown.info
echo `date` >> /var/log/rc.shutdown.info
sleep 10
exit 0
Creating the file /etc/rc.startup
Content:
#!/bin/sh
#
# rc.startup
#
#
# just for test
echo "last boot:" > /var/log/rc.startup.info
echo `date` >> /var/log/rc.startup.info
sleep 5
exit 0
Создание сервисного файла /etc/systemd/system/rc.shutdown.service
Содержимое:
[Unit]
Description=Shutdown_Reboot Script /etc/rc.shutdown
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target local-fs.target network-online.target network.target
Wants=network-online.target local-fs.target
[Service]
Type=oneshot
ExecStart=/bin/bash /etc/rc.startup
ExecStop=/bin/bash /etc/rc.shutdown
RemainAfterExit=yes
StandardOutput=syslog+console
StandardError=syslog+console
[Install]
WantedBy=shutdown.target reboot.target halt.target
Создание исполняемых файлов rc.startup и rc.shutdown с включенным chmod a+x ..
служба с systemctl enable rc.shutdown
Но что бы я ни делал и пробовал, скрипт не запускается при выключении ... wtf ..? что я делаю не так?
Если кто-то спрашивает, почему я добавляю все эти зависимости раньше, потому что я хотел, чтобы он запускался как одна из первых вещей, которые система запускает, чтобы убедиться, что все необходимые сервисы «делают» все, что должно быть сделано "работает.