Serviciile binecunoscute din Linux pot fi adăugate la pornire fără probleme, deoarece cele mai multe dintre ele vin cu propriul lor script, care se realizează cu ajutorul comenzilor ‘chkconfig’ și ‘systemctl’.
De exemplu, pentru a adăuga serviciul ‘Apache httpd’ la pornire, rulați una dintre următoarele comenzi în funcție de managerul dvs. de sistem. În mod similar, puteți adăuga orice serviciu binecunoscut, după cum este necesar, la pornire.
Pentru sistemul Sys V init:
# chkconfig --level 35 httpd on
Pentru sistemul systemd:
# systemctl enable httpd
Câteodată este posibil să aveți nevoie să adăugați un script, o comandă sau un serviciu personalizat la pornire/boot. Dacă da, cum o faceți?
În acest articol, să înțelegem cum să folosim următoarele trei metode pentru a-l implementa:
- Utilizarea /etc/rc.d/rc.d/rc.local file
- unitatea de serviciu systemd
Utilizarea fișierului crontab
Metoda-1: Utilizarea fișierului /etc/rc.d/rc.local
Filele „/etc/rc.local” este executat în mod tradițional după ce toate serviciile normale ale calculatorului au fost pornite, la sfârșitul procesului de trecere la un nivel de execuție multiutilizator.
Această metodă funcționează și pe sistemul systemd și trebuie să adăugați locația scriptului dvs. în fișierul „/etc/rc.d/rc.local” pentru a fi executat la pornire.
Asigurați-vă că fișierul are permisiunea de execuție.
# chmod +x /etc/rc.d/rc.local
Pentru a înțelege acest lucru în detaliu, vom crea un script simplu, așa cum se arată mai jos, dar puteți crea orice script după cum este necesar:
# vi /opt/scripts/run-script-on-boot.sh#!/bin/bashdate > /root/on-boot-output.txthostname > /root/on-boot-output.txt
După ce scriptul este gata, setați permisiunea de execuție așa cum se arată mai jos:
# chmod +x /opt/scripts/run-script-on-boot.sh
În cele din urmă adăugați scriptul în partea de jos a fișierului:
# vi /etc/rc.d/rc.local/opt/scripts/run-script-on-boot.sh
Reporniți sistemul pentru a verifica acest lucru:
# reboot
Metoda-2: Utilizarea fișierului crontab
cron execută automat lucrările programate în backend la o anumită oră.
Acest lucru poate fi realizat cu ușurință folosind un șir special numit "@reboot"
cu cron job.
@reboot este un șir special și permite utilizatorului să ruleze orice comandă sau script la pornire (boot time).
Acest exemplu execută fișierul ‘/opt/scripts/run-script-on-boot.sh’ la repornirea sistemului.
Vom folosi același script care a fost creat în exemplul de mai sus. Pentru a face acest lucru, trebuie doar să adăugați următoarea intrare în fișierul crontab:
# crontab -e@reboot /opt/scripts/run-script-on-boot.sh
Reporniți sistemul pentru a verifica acest lucru:
# reboot
Metoda-3: Utilizarea unității de servicii systemd
Această metodă funcționează doar pe sistemul systemd și este foarte simplă.
Pentru a face acest lucru, trebuie să creați un script de pornire systemd și să îl plasați în directorul „/etc/systemd/system/”.
Acesta este exemplul nostru de script unitar de pornire systemd:
# vi sample-on-boot-script.serviceDescription=Run a Custom Script at StartupAfter=default.targetExecStart=/opt/scripts/run-script-on-boot.shWantedBy=default.target
După ce ați plasat scriptul unitar în locația systemd, rulați următoarea comandă pentru a actualiza fișierele de configurare systemd și pentru a activa serviciul:
# systemctl daemon-reload# systemctl enable sample-on-boot-script.service
Reporniți sistemul pentru a verifica acest lucru:
# reboot
Sugestii bonus:
Dacă doriți să rulați un script în fundal, trebuie să adăugați simbolul ampersand de sfârșit "&"
.
/Path/To/My_Script &
Dacă doriți să rulați comanda ca utilizator diferit, utilizați următorul format:
su - $USER -c /Path/To/My_Script
Concluzie
Acest tutorial discută pe scurt despre cum să adăugați un script sau o comandă sau un serviciu personalizat la pornire.
.