Pag-iskedyul ng mga pana-panahong gawain gamit ang Cron sa Linux
cron
ay isang Linux program na ginagamit upang mag-iskedyul ng isang command o isang script na isasagawa sa ibang pagkakataon. Maaari rin itong magamit upang mag-iskedyul ng pana-panahong pagpapatakbo ng mga command at script. Ang mga program na nakaiskedyul gamit ang cron ay karaniwang tinutukoy bilang Mga Trabaho sa Cron. Ang pangunahing gamit nito ay para sa mga gawain ng System Administration tulad ng mga regular na pag-backup, regular na pag-update ng software, at iba pang katulad na mga gawain sa pagpapanatili.
Panimula
cron
tumatakbo bilang isang daemon sa Linux, ibig sabihin, bilang isang proseso sa background. Nagbibigay-daan ito sa mga user na direktang mag-iskedyul ng mga trabaho gamit ang crontab command, na nagbubukas ng configuration file na tinatawag na Cron File sa isang editor. Ang mga hiwalay na Cron File ay ginawa para sa bawat user.
Paggawa ng Cron File at Basic Syntax
Ang crontab
utos ay maaaring isagawa gamit ang -e
i-flag upang i-edit ang isang umiiral nang Cron File. Kung ang file ay hindi pa umiiral, ito ay malilikha. Kung tinawag ng user ang command sa unang pagkakataon at kung maraming file editor ang naka-install sa Linux system, hihilingin ng command sa user na pumili ng default na editor mula sa isang listahan ng mga editor.
Pagkatapos piliin ang editor, isang cron file para sa user ang gagawin at bubuksan. Maaari mo na ngayong tukuyin ang mga trabaho sa file.
Ang pangkalahatang syntax para sa pagtukoy ng isang Cron Job ay:
Talaga, ang tatakbo sa tinukoy na 'minuto' (0-59), 'oras'(0-23), 'araw ng buwan'(1-31), buwan(1-12), araw ng linggo, (0-7, Para sa Linggo, maaaring gamitin ang alinman sa 0 o 7) sa Cron Job. Upang gawing simple, kumuha tayo ng isang halimbawa:
1 2 3 4 5 echo "Hello"
Nangangahulugan ito ng utos echo "Hello"
tatakbo tuwing ikalimang araw ng linggo (Biyernes) at tuwing ika-3 araw ng buwan, tuwing ika-4 na buwan ng taon (Abril), sa oras na 02:01 (ika-2 oras sa unang minuto).
Kung ang parehong utos ay tatakbo araw-araw sa 02:01, ang syntax ay magiging ganito:
1 2 * * * echo "Hello"
Ang *
nangangahulugang 'palagi' o 'para sa lahat', hal. para sa lahat ng buwan, para sa lahat ng araw ng linggo, atbp.
Ang command operator (,
) ay maaaring gamitin upang magpasok ng isang listahan ng mga halaga kapag ang gawain ay dapat na ulitin. Halimbawa:
0 2,3,4 * * * echo "Hello"
Ito ay tatakbo sa programa sa 2am, 3am at 4am, araw-araw.
Katulad nito, isang gitling (-
) operator ay maaaring gamitin upang tukuyin ang isang hanay kung saan ang gawain ay dapat ulitin. Halimbawa:
0-20 2 * * * echo "Hello"
Tatakbo ito sa programa sa 02:00, 02:01, 02:02, at iba pa hanggang 02:20.
Sa wakas, mayroon na tayo ang slash ( /
) operator. Ginagamit ang operator na ito upang tukuyin ang halaga ng pagitan ayon sa kung saan uulitin ang gawain. Hal. */15
sa patlang ng minuto ay nangangahulugan na ang gawain ay dapat na ulitin tuwing 15 minuto. 2-10/2
sa field ng mga oras ay tinutukoy na ang gawain ay dapat ulitin sa pagitan ng 2 AM at 10 AM pagkatapos ng bawat 2 oras na pagitan (2 AM, 4 AM, 6 AM, 8 AM, 10 AM).
*/15 2-10/2 * * * echo "Hello"
Pagkatapos mong gawin ang entry sa Cron File, i-save ang file at lumabas sa editor.
Dapat mong makita ang isang 'pag-install ng bagong crontab' mensahe sa terminal pagkatapos i-save at lumabas sa crontab file.
Macros
Ang ilang partikular na macro ay na-predefine sa Cron na tumutukoy sa ilang karaniwang kinakailangang agwat ng oras, gaya ng bawat oras, araw-araw, bawat buwan, atbp.
Upang magpatakbo ng isang gawain isang beses araw-araw sa simula ng araw, ibig sabihin, sa 00:00, gumamit ng macro @araw-araw
. Ito ay katumbas ng 0 0 * * *
.
Maaari mong ilagay ito sa Cron file sa parehong paraan tulad ng inilarawan dati.
Sa katulad na paraan, ang iba pang mga macro ay maaaring gamitin, viz. @oras-oras
(Minuto 0 ng bawat oras), @buwanang
(00:00 ng unang araw ng buwan), @lingguhan
(00:00 ng unang araw ng linggo, @taon-taon
(00:00 ng una ng Enero bawat taon), @reboot
(sa bawat pagsisimula ng computer).
Konklusyon
Sa artikulong ito, natutunan namin kung paano magdagdag ng Cron Jobs para sa regular na pagpapatupad sa Linux. Ang wastong paggamit ng Cron Jobs ay madaling gamitin para sa kahit na ang pinaka nakakainis na mga manual na gawain na kinakaharap ng user, Hal. regular na pagtanggal ng mga lumang log, pag-archive ng lahat ng uri ng malamig na data (data na bihirang ma-access), atbp.