Systemd uvodi koncept systemd jedinica. Jedinice su predstavljene konfiguracionim fajlovima smeštenim u jednom od direktorijuma:
- /usr/lib/systemd/system/ – jedinice iz instaliranih RPM paketa.
- /run/systemd/system/ – jedinice kreirane u runtime-u. Ovaj direktorijum ima veći prioritet od direktorijuma sa instaliranim jedinicama iz paketa.
- /etc/systemd/system/ – jedinice kreirane i upravljane od strane sistemskog administratora. Ovaj direktorijum ima veći prioritet od direktorijuma sa jedinicama kreiranim u runtime-u.
Kreiramo fajl naše usluge:
# touch /etc/systemd/system/routing-settings.service # chmod 664 /etc/systemd/system/routing-settings.service
sa sledećim sadržajem:
[Unit] Description=Routing Settings Service After=network.target
[Service]
Type=oneshot
User=root
ExecStart=/root/routing.sh
[Install]
WantedBy=multi-user.target
User=root - pokretanje kao root! Navedite (ili ne navedite) korisnika pod čijim imenom treba da se izvrši vaš skript. Moj skript mora da se izvrši kao root. Ne mogu reći da me to raduje, jer postoji potreba za strogim kontrolisanjem lokacije skripta i dozvola pristupa.
Type=oneshot označava da će proces biti završen pre pokretanja daljih jedinica. Potpuno odgovara za skripte.
Proveravamo:
# systemctl start routing-settings
Ako nakon izvršavanja skripte vidimo očekivani rezultat, omogućićemo ovaj "servis" za automatsko pokretanje:
# systemctl enable routing-settings
Pokušavamo restartovanje sistema. Trebalo bi da radi.
Pogledajmo kada je naša usluga pokrenuta:
# systemctl status routing-settings
