Ubuntu – jak spustit script po startu systému – služba

Pro spuštění skriptu po startu systému na Raspberry Pi s operačním systémem Ubuntu, můžete využít službu systému systemd. systemd je systémový a službový správce většiny moderních linuxových distribucí, včetně Ubuntu.

  1. Vytvořte skript, který chcete spustit po startu systému. Scriptu musíte nastavit oprávnění pro spuštění. Například, pokud máte skript ble-advertisements.py, ujistěte se, že má správná oprávnění pro spuštění: chmod +x ble-advertisements.sh.
  2. Vytvořte systemd službu. Vytvořte nový soubor s příponou .service ve složce /etc/systemd/system/. Můžete to provést například pomocí editoru vim:
sudo vim /etc/systemd/system/ble-advertisements.service

V tomto souboru jsou informace o službě:

[Unit]
Description=BLE advertisements

[Service]
ExecStart=/home/ubuntu/scripts/ble-advertisements.sh
WorkingDirectory=/home/ubuntu/scripts
Restart=always
User=ubuntu

[Install]
WantedBy=multi-user.target

Souboru nastave oprvávnění pro spuštění:

sudo chmod ugo+x /etc/systemd/system/ble-advertisements.service

Upravte následující informace podle vašich potřeb:

  • Description – Popis vaší služby.
  • ExecStart – Cesta k vašemu skriptu, který chcete spustit.
  • WorkingDirectory – Volitelně, cesta k pracovní složce, kde se skript spouští.
  • User – Uživatel, pod kterým chcete spustit skript. Zde je uveden uživatel „ubuntu“, ale upravte jej podle vašich potřeb.

Aktualizujte systemd a povolte vaši službu:

sudo systemctl daemon-reload
sudo systemctl enable ble-advertisements.service

Restartujte zařízení. Po restartu se služba automaticky spustí:

sudo reboot

Sledování statvu služby

systemctl status ble-advertisements.service

journalctl -u ble-advertisements.service

Změny stavu služby

systemctl restart ble-advertisements.service
systemctl stop ble-advertisements.service
systemctl start ble-advertisements.service