Kako automatski izvršavati komande/skripte tokom ponovnog pokretanja ili pokretanja
Uvijek sam fasciniran stvarima koje se dešavaju iza kulisa kada pokrenem Linux sistem i prijavim se. Pritiskom na dugme za napajanje na golom metalu ili pokretanjem virtuelne mašine pokrećete niz događaja koji vode do potpuno funkcionalnog sistema – ponekad za manje od jednog minuta. Isto važi i kada se odjavite i/ili isključite sistem.
Ono što ovo čini zanimljivijim i zabavnijim je činjenica da operativni sistem može da izvrši određene radnje kada se pokrene i kada se prijavite ili odjavite.
U ovom distro-agnostičkom članku ćemo raspravljati o tradicionalnim metodama za postizanje ovih ciljeva u Linuxu.
Napomena: Pretpostavit ćemo korištenje Bash kao glavne ljuske za događaje prijavljivanja i odjave. Ako koristite neku drugu metodu, neke od ovih metoda mogu, ali ne moraju raditi. Ako ste u nedoumici, pogledajte dokumentaciju vaše ljuske.
Izvršavanje Linux skripti tokom ponovnog pokretanja ili pokretanja
Postoje dvije tradicionalne metode za izvršavanje naredbe ili pokretanje skripte tokom pokretanja:
Metod #1 – Koristite cron posao
Osim uobičajenog formata (minuta/sat/dan u mjesecu/mjesec/dan u sedmici) koji se široko koristi za označavanje rasporeda, cron planer također dozvoljava korištenje @reboot
. Ova direktiva, praćena apsolutnom putanjom do skripte, će uzrokovati njeno pokretanje kada se mašina pokrene.
Međutim, postoje dva upozorenja za ovaj pristup:
- a) cron demon mora biti pokrenut (što je slučaj u normalnim okolnostima), i
- b) skripta ili crontab datoteka moraju uključivati varijable okruženja (ako ih ima) koje će biti potrebne (pogledajte ovu StackOverflow nit za više detalja).
Metod #2 – Koristite /etc/rc.d/rc.local
Ova metoda vrijedi čak i za sistemske distribucije. Da bi ova metoda funkcionirala, morate dodijeliti dozvole za izvršavanje /etc/rc.d/rc.local
na sljedeći način:
chmod +x /etc/rc.d/rc.local
i dodajte svoju skriptu na dno datoteke.
Sljedeća slika pokazuje kako pokrenuti dvije uzorke skripte (/home/gacanepa/script1.sh
i /home/gacanepa/script2.sh
) koristeći cron< posao i rc.local, respektivno, i njihovi rezultati.
#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt
#!/bin/bash
SITE="linux-console.net"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
Imajte na umu da obje skripte moraju prethodno dobiti dozvole za izvršavanje:
chmod +x /home/gacanepa/script1.sh
chmod +x /home/gacanepa/script2.sh
Izvršavanje Linux skripti prilikom prijave i odjave
Da biste izvršili skriptu prilikom prijave ili odjave, koristite ~.bash_profile
i ~.bash_logout
, respektivno. Najvjerovatnije ćete morati ručno kreirati potonju datoteku. Samo ispustite liniju koja poziva vašu skriptu na dnu svake datoteke na isti način kao i prije i spremni ste za rad.
Sažetak
U ovom članku smo objasnili kako pokrenuti skriptu pri ponovnom pokretanju, prijavi i odjavi. Ako se možete sjetiti drugih metoda koje smo mogli uključiti ovdje, slobodno upotrijebite formular za komentare ispod kako biste ih istaknuli. Radujemo se Vašem odgovoru!