Нужно выполнить POST запрос при выключении компьютера (до завершения работы сетевых служб, естественно).
Накидал такой юнит:
[Unit]
Description=Actions before shutdown (and before network shutdown)
DefaultDependencies=no
Before=shutdown.target halt.target
After=network-online.target
[Service]
Type=simple
ExecStart=/bin/true
ExecStop=/usr/bin/curl -s -X POST -F p=1 -F p2=a 'http://ip/path/file.php'
RemainAfterExit=yes
TimeoutStopSec=30
KillMode=process
[Install]
WantedBy=shutdown.target
Предполагается, что юнит активируется при завершении работы системы (shutdown.target), а запрос выполнится при остановке этого сервиса (ExecStop).
И что-то не получается добиться того, что нужно. Запрос не выполняется. Полагаю, он прибивается в процессе продолжающегося завершения работы системы. В журнал ничего полезного не пишется, только то, что сервис стартовал.
Пробовал в ExecStart прописывать curl - тоже не выполняется запрос.
Может, кто-то делал что-то подобное, подскажите, как сделать сабж.