Gostaria de executar um script depois que o systemd carrega alguns destinos e interrompe / reinicia o sistema após verificar uma condição.

Minha unidade de serviço systemd se /etc/systemd/systemparece com isso:

[Unit]
Description=My Service
After=local-fs.target
Before=basic.target

[Service]
ExecStart=/path/to/my-script

[Install]
WantedBy=local-fs.target

Dentro my-scripteu tenho:

echo "script run $(date)" >> /home/kelvin/test.log

if [ condition ]; then
        reboot
        exit 0 
fi

exit 0

Os scripts funcionam se eu executar sudo systemctl start my-service, mas não funcionará na inicialização do sistema.

Kelvinss
fonte