- - Kako pokrenuti skripte i naredbe za obustavu i nastavak na Linuxu

Kako pokrenuti skripte i naredbe za obustavu i nastavak na Linuxu

Najbolji način za pokretanje skripti i naredbisuspendirati i nastaviti na Linuxu prije nego što obustavi (ili nakon ponovnog pokretanja) koriste se systemd init sustav. To je zbog činjenice da init sustav izravno komunicira s kernelom i elektroenergetskim sustavima. Nauči raditi s ovim alatom omogućit će bilo kojem korisniku da stekne veliku kontrolu nad svojim Linux operativnim sustavom,

Molim vas shvatite to nered s initomSustav 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.

Ne podržava svaka moderna distribucija Linuxasystemd init sustav. Neki se u potpunosti služe ili nešto drugo u potpunosti. U ovom ćemo se fokusu usredotočiti na systemd jer je to najčešći inicijacijski sustav. 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 / sustav san /

Izvođenje naredbe prije obustave

Da biste pokrenuli skriptu prije obustave, stavite bilo koju datoteku bash skripta u / Usr / lib / systemd / sustav san / 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 up 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 dogodi. Zalijepite kôd u nastavku:

if [ "${1}" == "pre" ]; then
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 treba biti sh /path/to/script/to/run.sh, Ovo možete koristiti i za izvršavanje raznih 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" ]; then
# nothing goes here
fi

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

Izvođenje naredbe nakon nastavka

Izvođenje naredbe nakon nastavka djeluje sličnopokrenuti nešto prije suspendiranja. Jedina prava 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" ]; then
# nothing goes here

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

elif [ "${1}" == "post" ]; then
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; jedanprije suspendiranja, a jedan kod nastavka, moguće je. To samo znači prilagođavanje skripte i dodavanje linija 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" ]; then
# replace with command

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

elif [ "${1}" == "post" ]; then
#  replace with command
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 učvrstite 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 sustavu spavanja u sustavu? Provjerite priručnik sa čovjek systemd-suspend.service.

komentari