Oras ito sa orasan sa dingding. Tumatakbo ang cron kapag ganito na ang basa ng orasan ng server, anuman ang offset sa araw na iyon — hindi na sumusunod sa daylight saving ang Pilipinas mula 1978, kaya hindi ito gumagalaw dito.
Limang patlang ang cron: minuto oras petsa buwan araw-ng-linggo. Madali iyon. Ang mahirap ay kung paano pinagsasama ang dalawang patlang ng araw.
Kapag parehong may hangganan ang petsa at ang araw-ng-linggo, tumatakbo ang cron kapag ALINMAN sa dalawa ang tumugma — hindi kapag pareho. Kaya ang 0 0 13 * 5 ay hindi Biyernes ng ika-13. Ito ay hatinggabi tuwing ika-13 ng buwan at hatinggabi tuwing Biyernes: mga animnapung takbo kada taon, hindi isa o dalawa.
Wala itong babala sa crontab. Tahimik lang tumatakbo nang animnapung beses ang trabahong akala mo ay taunan.
Ang isa pang bitag ay ang petsang hindi umiiral. Ang 0 0 31 * * ay pitong beses lang tumatakbo kada taon — nilalaktawan ng cron ang buwang mas maikli, hindi inililipat sa ika-30. Para sa huling araw ng buwan, gawing araw-araw at suriin ang petsa sa loob ng trabaho.
Hindi, at ito ang pinakamaling nababasang panuntunan sa cron. Kapag PAREHONG may takda ang patlang ng petsa at ng araw-ng-linggo, tumatakbo ang POSIX cron kapag ALINMAN ang tumugma — hindi kapag pareho. Ang ekspresyong iyon ay tumatakbo tuwing hatinggabi ng ika-13 ng bawat buwan AT tuwing hatinggabi ng Biyernes: mga animnapung takbo kada taon sa halip na isa o dalawa. Para kailanganin ang dalawang kondisyon, isang patlang lang ang itakda at suriin ang isa sa loob mismo ng trabaho.
Dahil ang anim na patlang ay Quartz o Spring, at SEGUNDO ang inuuna nila. Lima ang kinukuha ng Unix crontab, simula sa minuto. Hindi sila mapagpapalit: ang “0 0 12 * * ?” ay tanghali sa Quartz at walang kuwenta sa crontab. Ang pagbagsak sa unang patlang para magkasya ay gagawa ng kapani-paniwala at maling iskedyul, kaya tinatanggihan ito kasama ang dahilan.
Wala — nilalaktawan ito ng cron sa halip na ilipat ang takbo sa ika-30 o ika-1. Ang “0 0 31 * *” ay tumatakbo ng pitong beses kada taon, at ang “0 0 30 * *” ay hindi kailanman tumatakbo sa Pebrero. Kung gusto mo ang huling araw ng buwan, gawin itong araw-araw at suriin ang petsa sa loob ng trabaho.
Pareho, sa bawat tunay na cron. Ang araw-ng-linggo ay 0 hanggang 7 na may Linggo sa magkabilang dulo, at iyon ang dahilan kung bakit iisang iskedyul ang “* * * * 0” at ang “* * * * 7”. Tinatanggap nito ang alinman at inililipat ang 7 sa 0.
Oras ito sa orasan sa dingding, at ganoon nga gumagana ang cron: ang “0 3 * * *” ay nangangahulugang “kapag 03:00 na ang basa ng orasan ng server”, anuman ang UTC offset sa araw na iyon. Kaya tama ang listahan para sa alinmang zone ng server mo. Sa server na sumusunod sa daylight saving, ang oras na nasa loob ng nilaktawang oras ay hindi kailanman tumatakbo at ang nasa loob ng inulit na oras ay puwedeng tumakbo nang dalawang beses — hindi iyon lumilitaw sa Pilipinas, na hindi na sumusunod sa DST mula 1978.
Mga ekstensiyon iyon ng Quartz: ang L ay “huli”, ang W ay “pinakamalapit na karaniwang araw”, at ang # ay “ang ikailan sa buwan”. Walang Unix crontab na nakakaunawa sa kanila. Ang pagbasa sa “5L” bilang payak na 5 ay magbibigay sa iyo ng listahan ng takbong tiwalang-tiwala at mali, kaya pinapangalanan at tinatanggihan ito.
Runs entirely in your browser; nothing is transmitted. Standard five-field Unix cron only — Quartz syntax (six fields, L, W, #) is named and refused rather than guessed at. Run times are wall-clock times, which is how cron itself works. Walang ipinapadala sa mga server namin ang tina-type mo rito — sa browser mo tumatakbo nang buo ang pagkuwenta.