Kako pokrenuti skripte i naredbe za zaustavljanje i nastavak na Linuxu

click fraud protection

Najbolji način za trčanje skripta a naredbe za obustavu i ponovno pokretanje na Linuxu prije obustave (ili nakon ponovnog pokretanja) je da se koristi sistemd init sustav. To je zbog činjenice da init sustav izravno komunicira sa kernelom i elektroenergetskim sustavima. Naučiti raditi s ovim alatom omogućit će bilo kojem korisniku da stekne veliku kontrolu nad svojim Linux operativnim sustavom,

Molim vas shvatite da nered s init sustavom na vašem računalu može biti opasan ako ne znate što radite. Obavezno slijedite upute u ovom vodiču što je moguće bliže, kako biste izbjegli moguće nesporazume.

Nije svaka moderna distribucija Linuxa podržana systemd init sustav. Neki u potpunosti koriste početnike ili nešto drugo. U ovom ćemo se fokusu usredotočiti na systemd jer je to najčešće sistem pokretanja. Ako želite izvršiti ovaj zadatak na nečemu što ne sadrži ono što pokrivamo u ovom članku, pogledajte upute za uporabu vašeg operativnog sustava.

Napomena: Korisnici Debiana trebali bi zamijeniti sve instance sustava usr / lib / systemd / sustav san s /lib/systemd/system-sleep/

instagram viewer

Izvođenje naredbe prije obustave

Da biste pokrenuli skriptu prije obustave, stavite bilo koju datoteku bash skripta u  /usr/lib/systemd/system-sleep/ imenik. Sami skripti mogu učiniti bilo što, ali postoji određena sintaksa koju se moramo pridržavati. Započnite otvaranjem prozora terminala. Upotrebom sudo -s steknite korijensku ljusku.

Zatim gore, nano uređivač teksta u direktoriju spavanja sustava:

nano /usr/lib/systemd/system-sleep/pre-suspend.sh

Na početku skripte dodajte shebang. Dodavanje toga je kritično, a bez njega tumač neće moći ispravno pročitati kôd i naredbe.

#! / Bin / bash /

Sljedeći dio skripte je "ako". To će reći sustavu za kontrolu snage da bi se "trebalo" dogoditi da se nešto zaustavi za zaustavljanje. Zalijepite kôd u nastavku:

if ["$ {1}" == "pre"]; zatim. sh /path/to/script/to/run.sh

Promijeniti sh /path/to/script/to/run.sh u skriptu na ono što želite pokrenuti na svom Linux računalu (ili poslužitelju) neposredno prije pada sustava za obustavu. Imajte na umu da linija neposredno nakon "ako" ne mora biti sh /path/to/script/to/run.sh. Ovo možete koristiti i za izvršavanje različitih naredbi. Sve dok ga bash može prepoznati kao naredbu, pokrenut će se.

Posljednji dio skripte "prije obustave" je dodavanje dijela "inače ako". Ovaj aspekt skripte ne treba mijenjati, jer se u ovom primjeru brinemo kako nešto učiniti prije sustav propada, a ne kad se probudi.

elif ["$ {1}" == "post"]; zatim. # ovdje ništa ne ide. fi

Kad je sve dodano u datoteku, pritisnite Ctrl + O uštedjeti nano.

Izvođenje naredbe nakon nastavka

Izvršavanje naredbe nakon nastavljanja djeluje slično kao pokretanje nečega prije obustave. Jedina stvarna razlika je umjesto dodavanja naredbe nakon dijela skripte "ako", napravili biste najvažniji dio koda nakon retka "elif".

Da biste napravili skriptu za nastavak nastavka, prvo dodajte shebang kao prvi redak.

#! Bin / bash

U sljedećem retku dodajte skriptu dijelu "ako".

if ["$ {1}" == "pre"]; zatim. # ovdje ništa ne ide

S tim malo koda zalijepljenim u bash skriptu, pomaknite se prema dolje i zalijepite odjeljak "else if".

elif ["$ {1}" == "post"]; zatim. sh /path/to/script/to/run.sh. fi

Još jednom je u redu napisati bilo što pod retkom "elif". Sve dok je to normalna operacija naredbe systemd i bash će je pokrenuti.

Izvođenje naredbi pri pokretanju i nastavku

Ako želite pokrenuti dvije suprotne naredbe; jedan prije suspenzije, a jedan kod nastavka, moguće je. To samo znači prilagođavanje skripte i dodavanje redaka pod linijom 'ako', kao i linijom 'elseif'.

Kao i obično, započnite objavljivanjem shebang-a u skriptu za prevoditelja.

#! / Bin / bash

Zatim zalijepite if kod odjeljka.

if ["$ {1}" == "pre"]; zatim. # zamijeni naredbom

Pod ", zamijenite naredbu" zamijenite naredbom koju želite pokrenuti prije nego što sustav padne. Zatim prijeđite na odjeljak "elif" i učinite isto.

elif ["$ {1}" == "post"]; zatim. # zamijeni naredbom. fi

Spremite datoteku pomoću Ctrl + O,

Ažuriranje dozvola i upotreba skripte

Sve potrebne naredbe nalaze se u datoteci skripte, ali prije nego što se pokrene, morat ćete ažurirati dopuštenja. Otvorite terminal i steknite root pomoću: su ili sudo -s. Zatim učinite:

chmod + x /usr/lib/systemd/system-sleep/pre-suspend.sh

Od sada, kad god obustavite ili nastavite, trebalo bi se izvoditi prilagođene naredbe unutar skripte.

Napomena: imate pitanja o sistemskom stanju mirovanja? Provjerite priručnik sa čovjek systemd-suspend.service.

watch instagram story