Systemd este un sistem init puternic utilizat de majoritatea distribuțiilor Linux moderne pentru a gestiona procesele sistemului și ale serviciilor. Una dintre caracteristicile sale cheie este capacitatea de a porni automat serviciile la pornire. Acest articol vă va ghida prin procesul de configurare a unui serviciu care să pornească la pornire cu ajutorul Systemd, asigurându-vă că aplicațiile dvs. critice rulează fiabil ori de câte ori sistemul este repornit.
Systemd utilizează fișiere unitare pentru a defini și gestiona serviciile. Aceste fișiere unitare sunt stocate în:
/etc/systemd/system/
și /lib/systemd/system/
~/.config/systemd/user/
Un fișier de unitate de serviciu are de obicei extensia .service
și conține directive de configurare care indică Systemd cum să gestioneze serviciul.
Pentru a configura un serviciu care să pornească la pornire, trebuie să creați un fișier de serviciu Systemd. Iată un exemplu de creare a unui serviciu personalizat.
Executați următoarea comandă pentru a deschide un nou fișier de serviciu într-un editor de text:
sudo nano /etc/systemd/system/myservice.service
Adăugați următorul conținut, modificându-l în funcție de aplicația dvs:
[Unit]
Description=My Custom Service
After=network.target
[Service]
ExecStart=/usr/bin/myapp
Restart=always
User=myuser
Group=mygroup
WorkingDirectory=/home/myuser/
[Install]
WantedBy=multi-user.target
Explicație:
After=network.target
: Asigură pornirea serviciului după ce rețeaua este disponibilă.ExecStart=/usr/bin/myapp
: Definește comanda de pornire a serviciului.Restart=always
: Asigură repornirea serviciului în caz de eșec.User=myuser
și Group=mygroup
: Rulează serviciul sub un anumit utilizator și grup.WantedBy=multi-user.target
: Asigură pornirea serviciului în modul multiutilizator (nivel de execuție implicit pentru majoritatea serverelor).După ce fișierul de serviciu este creat, reîncărcați Systemd pentru a recunoaște noul serviciu:
sudo systemctl daemon-reload
Activați serviciul pentru a porni la pornire:
sudo systemctl enable myservice.service
Porniți manual serviciul:
sudo systemctl start myservice.service
Verificați starea serviciului:
sudo systemctl status myservice.service
Dacă totul este configurat corect, ar trebui să vedeți o ieșire care indică faptul că serviciul rulează.
Iată câteva comenzi utile pentru gestionarea serviciului Systemd:
sudo systemctl restart myservice.service
sudo systemctl stop myservice.service
sudo systemctl disable myservice.service
journalctl -u myservice.service --no-pager
Utilizarea Systemd pentru a porni serviciile la pornire este o modalitate simplă și eficientă de a vă asigura că aplicațiile critice rămân în funcțiune după repornirea sistemului. Prin configurarea corectă a unui fișier de servicii Systemd, activarea acestuia la pornire și gestionarea sa cu systemctl
, puteți îmbunătăți fiabilitatea și automatizarea mediului Linux.