Sonntag, 26. April 2015

Mit systemd ein Script beim Systemstart ausführen lassen

Seit Ubuntu 15.04 ist nicht mehr Upstart für den Start von Diensten zuständig sondern Systemd.
Somit werden Einträge in der Datei /etc/rc.local ignoriert, und man muss sich anders behelfen, wenn Scripte beim Systemstart ausgeführt werden sollen oder müssen.
Zuerst wird unter /etc/systemd/system/ eine neue Datei mit der Endung .service angelegt z.B.

sudo touch /etc/systemd/system/autoupdate.service

Anschließend wird die neu erstellte Datei mit einem Editor geöffnet.

sudo nano /etc/systemd/system/autoupdate.service

In die Datei wird nun folgendes eingefügt:

[Unit]
Description=Start Automatic Systemupdate

[Service]
Type=oneshot
ExecStart=/etc/autoupdate.sh

[Install]
WantedBy=multi-user.target


Der Pfad zum Script muss natürlich angepasst werden!
Nach dem speichern muss der neue Service aktiviert werden mit:

sudo systemctl enable autoupdate.service

Ob der neue Service erfolgreich gestartet werden kann, kann man testen mit:

sudo systemctl start autoupdate.service

Um den Status des neuen Dienstes anzuschauen, gibt man ein:

sudo systemctl status autoupdate.service