Kako enostavno načrtovati Bash skripte s Cronom? Naučite se z našimi primeri!
Ste že kdaj pomislili, kako bi bilo lepo, če bi lahko določene naloge v vašem sistemu Linux avtomatizirali in jih izvajali ob točno določenem času? No, s pomočjo Crona lahko to preprosto dosežete! Cron je na voljo v skoraj vseh distribucijah Linuxa in je odličen za načrtovanje nalog, kot so varnostne kopije, čiščenje log datotek ali celo izvajanje bash skript, kot je ta, ki ga bomo predstavili v tem članku.
Kaj je Cron in zakaj ga uporabljati?
Cron je sistemski orodje za najučinkovitejše izvajanje nalog v ozadju. Omogoča vam, da nastavite naloge, ki se izvajajo ob točno določenih urah, dnevih ali celo mesecih. To je izjemno uporabno za vse, ki želijo avtomatizirati redne naloge, brez da bi morali ročno zagnati skripto vsakič, ko je potrebno. Z Cronom lahko nastavite naloge tako, da jih izvaja vsak dan, ob določenem času ali celo v rednih intervalih, kot so vsake 3 ure ali vsak teden.
Kako deluje Cron?
Cron deluje z uporabo Cron tabel, ki so datoteke, v katerih se nahajajo vsi ukazi, ki jih želite izvajati ob določenem času. Vsak vnos v Cron tabeli določa ukaz, ki bo izveden ob določenem času. Struktura Cron tabele je zelo specifična, vendar enostavna za razumevanje, če poznate osnovne sintakse. Običajno vsak vnos izgleda tako:
* * * * * /pot/do/skripte - - - - - | | | | | | | | | +--- dan v tednu (0 - 7) (Nedelja je 0 ali 7) | | | +----- mesec (1 - 12) | | +------- dan v mesecu (1 - 31) | +--------- ura (0 - 23) +----------- minuta (0 - 59)
Vsak zvezdica (*) pomeni "katerikoli". Torej, če želite, da vaša skripta teče vsakih 5 minut, boste vnesli naslednje:
*/5 * * * * /pot/do/skripte
Primer 1: Preprost Bash skript za varnostno kopijo
Eno najpogostejših nalog, ki jih želimo avtomatizirati, je ustvarjanje varnostnih kopij. Z Cronom lahko preprosto nastavite skripto, ki bo ob določenem času ustvarila varnostno kopijo določenih datotek ali imenikov. Tukaj je primer Bash skripte, ki preprosto ustvari arhiv vašega imenika vsak dan ob polnoči:
#!/bin/bash # Preprost skript za ustvarjanje varnostne kopije tar -czf /pot/do/backup/direktorij_$(date +\%Y-\%m-\%d).tar.gz /pot/do/imenika
Ta skripta uporablja ukaz tar za ustvarjanje arhiva. Arhiv bo poimenovan z datumom, ko je bil ustvarjen, tako da boste lažje našli stare varnostne kopije. Zdaj pa nastavite Cron nalogo, da ta skript zažene vsak dan ob polnoči:
0 0 * * * /pot/do/skripte/backup.sh
Primer 2: Preverjanje prosta mesta na disku
Druga uporabna naloga je spremljanje prostora na disku. Lahko nastavite skripto, ki bo preverjala razpoložljiv prostor na disku in vas obvestila, ko prostor doseže kritično raven. Tukaj je primer preprostega Bash skripta:
#!/bin/bash
# Preverjanje prostora na disku
prostor=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')
if [ $prostor -gt 90 ]; then
echo "Opozorilo: Prostora na disku je manj kot 10%" | mail -s "Prostor na disku opozorilo" vaša@e-pošta.com
fi
Ta skripta preveri, koliko prostega prostora je na disku, in če je prostega prostora manj kot 10%, pošlje opozorilno e-pošto. Nastavite Cron nalogo, da ta skript teče vsak dan ob 6:00:
0 6 * * * /pot/do/skripte/prostor.sh
Kako dodati Cron nalogo?
Če želite dodati novo nalogo v Cron, uporabite ukaz crontab -e. Ta ukaz odpre Cron tabelo, kjer lahko vnesete naloge. Ko shranite in zapustite urejevalnik, bodo vaše naloge aktivne. Za pregled vseh nalog uporabite ukaz crontab -l.
Primer 3: Poročilo o sistemskih procesih
Če želite spremljati sistemske procese, kot so CPU poraba ali RAM poraba, lahko nastavite skripto, ki bo ustvarila dnevno poročilo o tem. Tukaj je primer skripta, ki shranjuje poročilo o porabi CPU in RAM-a:
#!/bin/bash # Poročilo o sistemu top -n 1 -b > /pot/do/porocila/system_report_$(date +\%Y-\%m-\%d).txt
Ta skripta zažene ukaz top, ki prikazuje statistiko o sistemu, in shrani izhod v datoteko z imenom, ki vključuje datum. Nastavite Cron nalogo, da ta skript teče vsak teden:
0 0 * * 0 /pot/do/skripte/system_report.sh
Kaj storiti, če Cron ne deluje?
Če naloga ne teče, kot je pričakovano, preverite naslednje možnosti:
- Preverite, ali ima vaš skript ustrezne pravice za izvajanje (lahko uporabite ukaz
chmod +xza dodelitev pravic). - Preverite, ali je pot do skripte pravilna in če so vsi ukazi pravilno zapisani v skriptu.
- Preverite, ali je Cron storitev aktivna z ukazom
systemctl status cron.
Zaključek
Uporaba Crona za avtomatizacijo nalog je enostaven način za izboljšanje produktivnosti in za ohranjanje sistema v dobrem stanju brez napora. Z zgornjimi primeri, ki jih lahko prilagodite svojim potrebam, lahko začnete uporabljati Cron in Bash skripte za boljše upravljanje sistema. Upam, da vam je ta članek pomagal razumeti, kako načrtovati skripte in jih uporabiti za različne naloge. Zdaj je čas, da začnete!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!