Tuigsinn agus Cleachdadh Cron: Stiùireadh Cuimseach air Obraichean Clàr
cron, goirid airson ruith àithne air-loidhne, na chlàr-ama obrach cumhachdach stèidhichte air ùine ann an siostaman obrachaidh coltach ri Unix. An teirm cron 's e dealbh-chluich air an fhacal cronan or chronos, a tha ann am miotas-eòlas Grèigeach a’ riochdachadh ùine. Tha an t-ainm cron airson an clàr-ama obrach stèidhichte air ùine a’ nochdadh a dhleastanas ann a bhith a’ clàradh agus a’ coileanadh ghnìomhan aig amannan no amannan sònraichte, ga fhàgail na iomradh iomchaidh air bun-bheachd ùine ann am miotas-eòlas.
Leigidh Cron leat gnìomhan ath-aithris a dhèanamh fèin-ghluasadach, sgriobtaichean a chuir an gnìomh aig amannan sònraichte, agus èifeachdas siostaim a chumail suas. Coisichidh an iùl coileanta seo thu tro gach rud a dh’ fheumas tu a bhith agad mu chron, bho stàladh gu cleachdadh, prìomh bhriathrachas, agus sampallan còd fìor.
Clàr-innse
- Dè th' ann an cron?
- Stàladh Cron
- Bun-bheachdan agus Briathrachas
- Cron Syntax
- Eisimpleirean agus Cùisean Cleachdaidh
- Duilgheadasan Coitcheann agus Cleachdaidhean as Fheàrr
- Goireasan cron a bharrachd
Dè a th ’ann an Cron?
Tha Cron na dheamhan (pròiseas cùl-fhiosrachaidh) a bhios a’ ruith air siostaman stèidhichte air Unix, a’ toirt a-steach Linux agus macOS. Is e a phrìomh amas gnìomhan clàraichte a chuir an gnìomh gu fèin-ghluasadach. Faodaidh na gnìomhan sin a bhith eadar sgriobtaichean sìmplidh gu cumail suas siostam agus cùl-taic.
Stàladh Cron
Anns a’ mhòr-chuid de shiostaman coltach ri Unix, tha cron air a chuir a-steach ro-làimh. Faodaidh tu dèanamh cinnteach gu bheil e ri fhaighinn le bhith a’ fosgladh inneal-crìochnachaidh agus a’ taipeadh:
crontab -e
Ma dh’ fhosglas an àithne seo deasaiche clàr cron, tha cron agad air a chuir a-steach. Mur eil, 's urrainn dhut a stàladh a' cleachdadh manaidsear pacaid an t-siostaim agad. Mar eisimpleir, air Ubuntu, faodaidh tu a chleachdadh:
sudo apt-get install cron
Bun-bheachdan agus Briathrachas Cron
Mus tèid sinn a-steach gu cleachdadh cron, tuigidh sinn cuid de bhun-bheachdan agus briathrachas riatanach:
- cronab: Goirid airson clàr cron, is e faidhle a th’ ann anns a bheil liosta de ghnìomhan clàraichte airson neach-cleachdaidh.
- Cronobair: Aon gnìomh no àithne clàraichte airson ruith aig àm sònraichte.
- Aibhnichean: Tha còig raointean aig gach cronjob a mhìnicheas cuin a bhios an obair a’ ruith:
- Geàrr-chunntas (0-59)
- uair (0-23)
- Latha dhen mhìos (1-31)
- Mìos (1-12)
- Latha na seachdain (0-7, far a bheil an dà chuid 0 agus 7 a’ riochdachadh Didòmhnaich)
Cron Syntax
Tha e deatamach gun tuig thu co-theacs inntrigeadh crontab. Tha e a 'leantainn a' mhodail:
* * * * * command-to-be-executed
Seo mìneachadh le beachd as urrainn dhut a chuir a-steach don obair cron agad:
# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php
Tha gach rionnag (*) a’ riochdachadh raon anns an abairt cron. Mar eisimpleir, airson obair a chlàradh gach latha aig 3:30f, bhiodh tu a’ cleachdadh:
30 15 * * * command-to-be-executed
Eisimpleirean Cron agus Cùisean Cleachdaidh
Feuch an rannsaich sinn eisimpleirean practaigeach gus cleachdadh cron a nochdadh:
- A’ ruith Sgriobt gach latha: Gus sgriobt a chuir an gnìomh a h-uile latha aig meadhan oidhche, faodaidh tu a chleachdadh:
0 0 * * * /path/to/script.sh
- A’ ruith Sgriobt gach Uair: Airson obair uair a thìde, cleachd:
0 * * * * /path/to/script.sh
- Cùl-taic seachdaineach: Gus cùl-taic seachdaineil a chlàradh air Didòmhnaich aig 2m, cleachd:
0 2 * * 0 /path/to/backup-script.sh
- A’ ruith gnìomh air mìosan sònraichte: Gus obair a ruith a-mhàin san Fhaoilleach agus san Iuchar aig 8:30m:
30 8 * 1,7 * /path/to/script.sh
Duilgheadasan Cron agus Cleachdaidhean as Fheàrr
- Variables Àrainneachd: Dèan cinnteach gun stèidhich na h-obraichean cron agad na caochladairean àrainneachd riatanach, oir cha bhith obraichean cron a’ sealbhachadh caochladairean àrainneachd do shligean.
- Ceadan: Dèan cinnteach gun do shuidhich thu na ceadan don fhaidhle sgriobt agad mar a ghabhas coileanadh. Gach uair a bhithinn ag ath-ghlèidheadh mo sgriobt, lorg mi gum feumadh mo cheadan a bhith air an suidheachadh a-rithist!
- Caochlaidhean slighe: Sònraich an t-slighe slàn gu gnìomhan agus sgriobtaichean taobh a-staigh na h-obraichean cron agad gus cùisean le slighean càirdeach a sheachnadh.
- Deuchainn: Dèan deuchainn orra ann an àrainneachd shàbhailte mus cuir thu air dòigh obraichean cron èiginneach gus dèanamh cinnteach gu bheil iad ag obair mar a bhiodh dùil.
- Logadh: Ath-stiùirich toradh nan obraichean cron agad gu faidhle log gus sùil a chumail air an coileanadh agus mearachdan sam bith a dh’ fhaodadh a bhith ann.
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1
Bidh an obair cron seo a’ ruith sgriobt /path/to/script.sh
a h-uile latha aig meadhan oidhche, agus tha an toradh (an dà chuid stdout agus stderr) a ghineadh leis an sgriobt an cois an fhaidhle log
/path/to/cron.log
. Is e cleachdadh cumanta a tha seo airson toradh obraichean cron a ghlacadh agus a chlàradh airson adhbharan sgrùdaidh agus fuasgladh cheistean. Nach bris sinn sìos an co-chòrdadh obrach cron sònraichte seo:
- *0 0 * *: Tha am pàirt seo a’ mìneachadh a’ chlàr airson cuin a bu chòir an obair cron a ruith. Anns a 'chùis seo, thathar an dùil a ruith gach latha aig meadhan oidhche (0 mionaidean an dèidh 0 uairean).
- /slighe/gu/script.sh: Seo an àithne no an sgriobt a nì thu nuair a ruitheas an obair cron. Tha an eisimpleir seo a’ sealltainn sgriobt suidhichte aig
/path/to/script.sh
. - >> /path/to/cron.log: Bidh am pàirt seo ag ath-stiùireadh toradh àbhaisteach (stdout) an obair cron gu faidhle log ainmichte
cron.log
Suidhichte aig/path/to/
. Tha>>
cuiridh gnìomhaiche an toradh ris an fhaidhle log, mar sin mura h-eil am faidhle ann, thèid a chruthachadh, agus ma tha e ann mu thràth, thèid an toradh a chuir ri deireadh an fhaidhle. - 2> & 1: Tha seo air a chleachdadh airson an dà chuid toradh àbhaisteach (stdout) agus mearachd àbhaisteach (stderr) ath-stiùireadh chun an aon fhaidhle log. Tha an
2
riochdachadh stderr, agus an1
a’ riochdachadh stdout. Mar sin,2>&1
a 'ciallachadh gu bheil an dà chuid stdout agus stderr air an ath-stiùireadh chun an aon fhaidhle log a chaidh a shònrachadh na bu tràithe.
Tha Cron na inneal luachmhor airson gnìomhan fèin-ghluasadach air siostaman stèidhichte air Unix. Leis na roghainnean clàraidh sùbailte aige, faodaidh e rianachd siostam a dhèanamh nas sìmplidhe agus èifeachdas adhartachadh. Le bhith a’ tuigsinn a cho-chòrdadh agus a’ leantainn nan cleachdaidhean as fheàrr, faodaidh tu feum a dhèanamh de chumhachd cron gus na gnìomhan àbhaisteach agad a dhèanamh fèin-ghluasadach gu h-èifeachdach.
Goireasan Cron a bharrachd
- Deamhan Unix - Dean Wilson