Programi Bash Skripton kun Cron: Gvidilo por Komencantoj
Se vi iam ajn volis aŭtomatigi viajn sistemajn taskojn, vi verŝajne aŭdis pri Cron, la potenca taskoplana ilo en Linux kaj aliaj UNIX-bazitaj sistemoj. En ĉi tiu artikolo, ni montros al vi kiel programi viajn Bash skriptojn uzante Cron, kio ebligas al vi fari ripetajn taskojn sen la bezono interveni manuele. Se vi volas plibonigi vian produktivecon aŭ aŭtomatigi taskojn, ĉi tiu gvidilo estas por vi!
Kio estas Cron?
Cron estas taskoplana programo, kiu ebligas al uzantoj agordi ripetajn taskojn en specifiĝintaj tempaj intervalo. Ĉi tiuj taskoj povas inkluzivi ĉion de skriptoj ĝis programoj, kiuj bezonas esti ekzekutitaj en fiksitaj tempoj. Cron estas uzata en plej multaj UNIX-bazitaj sistemoj, inkluzive de Linux, macOS, kaj aliaj similaj operaciumoj.
La baza koncepto de Cron estas simple komandi la sistemon por fari ion dum specifaj horoj, tagoj, semajnoj aŭ eĉ monatoj. Tio estas speciale utila por ekzekuti taskojn, kiuj devas okazi regule, kiel ĉifrado de dosieroj, sendado de retpoŝtoj aŭ eĉ rezervo de datumoj.
Kiel Fungi Cron?
Cron funkcias uzante dosieron nomatan "crontab". Ĉiu uzanto sur la sistemo havas sian propran "crontab" dosieron, kiu enhavas liston de la taskoj, kiujn ili volas plenumigi kaj la tempigo por tiuj taskoj. Ĉiu linio en la crontab dosiero konsistas el kvin valoroj, kiuj difinas kiam la tasko estos ekzekutita, sekvita de la komando, kiu devas esti plenigita.
# Sekvanta sintakso estas uzata por difini cron taskon: # (minutoj) (horoj) (tagoj de la monato) (monatoj) (tagoj de la semajno) (komando) # Ekzemplo de crontab: 30 14 * * 1-5 /home/uzanto/script.sh
En ĉi tiu ekzemplo, la skripto "script.sh" estos ekzekutita je la 30-a minuto de la 14-a horo (2:30 posttagmeze) de ĉiu labortaga tago (lundo ĝis vendredo). Tio estas bona ekzemplo de tasko, kiu devas esti farita regule dum semajno, ekzemple sendante raporton aŭ aŭtomatigante iun malsimplan administran taskon.
Kiel Krei Cron Taskon?
Por krei cron taskon, vi bezonas aliri vian crontab dosieron. Ĉi tio estas farata per la komando:
crontab -e
Ĉi tio malfermos la crontab dosieron en via defaŭlta teksta redaktilo. Se vi volas aldoni cron taskon, simple aldonu linion similan al la sekva:
# Ekzemplo: 0 5 * * * /home/uzanto/backup.sh
Ĉi tiu tasko ekzekutos la skripton "backup.sh" ĉiujn tagojn je la 5-a horo de la mateno. Tio estas perfekta ekzemplo por aŭtomatigi sekuran kopion de viaj datumoj ĉiujn tagojn sen ajna bezono de manuala interveno.
Komplekso de la Cron Sintakso
La sintakso de Cron povas ŝajni iom kompleksa, sed ĝi estas tre potenca. Ni nun detale klarigos ĉiu el la kvin kampoj, kiuj formuletas la tempigon de cron tasko:
- Minutoj - En ĉi tiu kampo, vi difinas minuton en kiu la tasko estos ekzekutita. Valoro de 0 ĝis 59.
- Horoj - Ĉi tiu kampo montras la horon en kiu la tasko estos ekzekutita. Valoro de 0 ĝis 23 (ekzemple, 14 por 2:00 posttagmeze).
- Tagoj de la monato - Tiu ĉi kampo montras kiu tago de la monato la tasko estos ekzekutita. Valoro de 1 ĝis 31.
- Monatoj - Ĉi tiu kampo montras en kiu monato la tasko estos ekzekutita. Valoro de 1 ĝis 12 (1 por januaro, 12 por decembro).
- Tagoj de la semajno - Ĉi tiu kampo montras kiu tago de la semajno la tasko estos ekzekutita. Valoro de 0 ĝis 7 (0 aŭ 7 por dimanĉo, 1 por lundo, ktp.).
Se vi volas, ekzemple, ke tasko estu ekzekutita je la 15-a minuto de ĉiu horo en ĉiu tago de la semajno, la cron komando aspektus tiel:
15 * * * * /home/uzanto/script.sh
Ĉi tiu tasko ekzekutos la skripton "script.sh" ĉiujn horojn ĉe la 15-a minuto.
Ekzemploj de Uzado de Cron por Bash Skriptoj
Nun, ni rigardu kelkajn ekzemplojn de uzado de cron taskoj kun Bash skriptoj. Vi povas uzi cron por aŭtomatigi ĉiajn taskojn, de regulaj sekurkopioj ĝis aŭtomataj ĝisdatigoj de viaj sistemoj.
Ekzemplo 1: Aŭtomata Sekurkopio de Dosieroj
Se vi volas fari aŭtomatan sekurkopion de dosieroj en via dosierujo, vi povas uzi cron por ekzekuti Bash skripton, kiu faros tion. Jen ekzemplo de cron tasko, kiu sekurkopios la dosierojn ĉiujn tagojn je la 3-a horo de la mateno:
0 3 * * * /home/uzanto/backup.sh
La skripto "backup.sh" povus enhavi ion similan al:
#!/bin/bash tar -czf /home/uzanto/backup/$(date +\%Y\%m\%d).tar.gz /home/uzanto/dokumento/
Tiu ĉi skripto faros sekurkopion de la dosieroj en "/home/uzanto/dokumento/" kaj konservos ĝin kun nomo bazita sur la dato.
Ekzemplo 2: Aŭtomataj Sistemsaj Kontroloj
Se vi volas kontroli la sanon de via sistemo, vi povas krei Bash skripton kiu kontrolas diskspacon aŭ memoriuzon kaj sendas al vi raporton. Ekzemple, ĉi tiu cron tasko ekzekutos kontrolon de disko ĉiun tagon je la 8-a horo de la mateno:
0 8 * * * /home/uzanto/check_disk_space.sh
La skripto "check_disk_space.sh" povus enhavi komandon similan al:
#!/bin/bash df -h | mail -s "Disk Space Report" uzanto@retpoŝto.com
Tiu ĉi skripto sendos raporton de diskspaco al via retpoŝto ĉiujn tagojn.
Konkludo
Uzante Cron, vi povas facile aŭtomatigi viajn taskojn, fari viajn laborojn pli efikaj kaj malŝarĝi vin de ripetaj operacioj. La sintakso de Cron povas ŝajni iom komplika komence, sed kun malgranda praktiko vi povas rapide kompreni ĝin kaj ekigi viajn proprajn taskojn. Se vi estas programisto aŭ sistemadministranto, lerni Cron estas tre utila por pliigi vian produktivecon. Nun vi havas la ilojn por programi viajn Bash skriptojn kaj aŭtomatigi taskojn kun Cron — ŝanĝu la mondon de via komputilo kun nur kelkaj linioj de kodo!

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