Systemd je sistem za inicijalizaciju i upravljanje servisima u modernim Linux distribucijama. Njegova osnovna funkcija je pokretanje i kontrola sistema i servisa prilikom dizanja sistema. Da biste integrisali vaš skript start_server.sh sa systemd-om i omogućili da se pokrene prilikom restarta mašine, pratite sljedeće korake:
Kreiranje systemd jedinice (service file):
Kreirajte datoteku sa ekstenzijom .service u direktorijumu /etc/systemd/system/. Nazovimo je start_server.service. Otvorite terminal i upišite:
sudo nano /etc/systemd/system/start_server.service
Konfiguracija service datoteke:
U datoteku start_server.service unesite sljedeći sadržaj:
[Unit]
Description=Pokretanje start_server.sh skripte
After=network.target
[Service]
ExecStart=/path/to/start_server.sh
WorkingDirectory=/path/to/
StandardOutput=inherit
StandardError=inherit
Restart=always
User=username
[Install]
WantedBy=multi-user.target
Zamijenite /path/to/start_server.sh stvarnom putanjom do vaše skripte, /path/to/ direktorijumom gdje se nalazi skripta, i username korisnikom pod kojim želite da se skripta izvršava.
Reload systemd da prepozna novu jedinicu:
Nakon što ste kreirali i snimili datoteku, izvršite sljedeću komandu da bi systemd prepoznao novu servisnu jedinicu:
sudo systemctl daemon-reload
Omogućavanje servisa:
Da biste omogućili servis da se automatski pokreće pri dizanju sistema, izvršite sljedeću komandu:
sudo systemctl enable start_server.service
Pokretanje servisa:
Možete odmah pokrenuti servis bez restarta mašine sa sljedećom komandom:
sudo systemctl start start_server.service
Provjera statusa servisa:
Da biste provjerili status vašeg servisa i osigurali da radi kako treba, koristite sljedeću komandu:
sudo systemctl status start_server.service
Ako ste sve podesili kako treba, vaš skript start_server.sh će se automatski pokrenuti svaki put kad se mašina restarta, zahvaljujući systemd servisu koji ste kreirali.