Sut I Golygu Ffeil Linux Crontab I Atodlen Swyddi

Cyflwyniad

Mae daemon yn Linux o'r enw cron sy'n cael ei ddefnyddio i redeg prosesau yn rheolaidd.

Y ffordd y mae'n gwneud hyn yw gwirio rhai ffolderi ar eich system ar gyfer sgriptiau i'w rhedeg. Er enghraifft, mae ffolder o'r enw /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly a /etc/cron.monthly. Mae ffeil hefyd o'r enw / etc / crontab.

Yn anffodus, gallwch chi roi sgriptiau yn y ffolderi perthnasol i'w galluogi i redeg yn rheolaidd.

Er enghraifft, agor ffenestr derfynell (trwy wasgu CTRL, ALT a T) a rhedeg y gorchymyn ls canlynol:

ls / etc / cron *

Fe welwch y rhestr o raglenni neu sgriptiau sy'n cael eu rhedeg bob awr, bob dydd, wythnosol a misol.

Y drafferth gyda'r ffolderi hyn yw eu bod ychydig yn amwys. Er enghraifft, bob dydd yn golygu y bydd y sgript yn rhedeg unwaith y dydd ond nid oes gennych reolaeth dros yr amser y bydd y sgript yn rhedeg yn ystod y diwrnod hwnnw.

Dyna lle mae'r ffeil crontab yn dod i mewn.

Drwy olygu'r ffeil crontab, gallwch gael sgript neu raglen i'w rhedeg ar yr union ddyddiad a'r amser rydych chi am iddo ei redeg. Er enghraifft efallai eich bod chi eisiau copïo'ch ffeiliau bob nos am 6 pm.

Caniatâd

Mae'r gorchymyn crontab yn ei gwneud yn ofynnol bod gan ddefnyddiwr ganiatâd i olygu ffeil crontab. Yn y bôn mae dwy ffeil a ddefnyddir i reoli caniatâd crontab:

Os yw'r ffeil /etc/cron.allow yn bodoli yna rhaid i'r defnyddiwr sydd am olygu'r ffeil crontab fod yn y ffeil honno. Os nad yw'r ffeil cron.allow yn bodoli ond mae ffeil /etc/cron.deny yna ni ddylai'r defnyddiwr fodoli yn y ffeil honno.

Os yw'r ddau ffeil yn bodoli yna mae'r /etc/cron.allow yn goresgyn y ffeil /etc/cron.deny.

Os nad yw'r ffeil yn bodoli yna mae'n dibynnu ar ffurfweddiad y system a all defnyddiwr olygu'r crontab.

Gall y defnyddiwr gwraidd bob amser olygu'r ffeil crontab. Gallwch naill ai ddefnyddio'r gorchymyn i newid i'r defnyddiwr gwraidd neu'r gorchymyn sudo i redeg y gorchymyn crontab.

Golygu Ffeil Crontab

Gall pob defnyddiwr sydd â chaniatâd greu eu ffeil crontab eu hunain. Mae'r gorchymyn cron yn y bôn yn edrych am fodolaeth ffeiliau crontab lluosog ac yn rhedeg drwyddynt i gyd.

I wirio a oes gennych ffeil crontab, rhowch y gorchymyn canlynol:

crontab -l

Os nad oes gennych ffeil crontab, bydd y neges "dim crontab for " yn ymddangos fel arall, bydd eich ffeil crontab yn cael ei arddangos (mae'r swyddogaeth hon yn wahanol i system i system, weithiau nid yw'n dangos dim o gwbl ac amseroedd eraill mae'n dangos, " peidiwch â golygu'r ffeil hon ").

I greu neu olygu ffeil crontab, rhowch y gorchymyn canlynol:

crontab -e

Yn ddiofyn os nad oes golygydd rhagosodedig wedi'i ddewis yna gofynnir i chi ddewis golygydd rhagosodedig i'w ddefnyddio. Yn bersonol, hoffwn ddefnyddio nano gan ei bod yn eithaf syth ymlaen i'w ddefnyddio ac mae'n rhedeg o'r derfynell.

Mae'r ffeil sy'n agor yn cynnwys llawer o wybodaeth ond y rhan allweddol yw'r enghraifft ychydig cyn diwedd yr adran sylwadau (dynodir y sylwadau gan linellau sy'n dechrau gyda #).

# mh dom mon dow command

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Mae 6 darn o wybodaeth i'w ffitio ar bob llinell o'r ffeil crontab:

Ar gyfer pob eitem (ac eithrio'r gorchymyn) gallwch nodi cymeriad cerdyn gwyllt. Edrychwch ar yr enghraifft ganlynol llinell crontab:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

Yr hyn y mae'r gorchymyn uchod yn ei ddweud yw 30 munud, 18 awr ac unrhyw ddiwrnod, mis a dydd yr wythnos yn rhedeg gorchymyn i zipio a throsglwyddo'r cyfeiriadur cartref i'r ffolder / var / backups.

I gael gorchymyn i redeg am 30 munud y tro bob awr, gallaf redeg y gorchymyn canlynol:

30 * * * * gorchymyn

I gael gorchymyn i redeg bob munud ar ôl 6 pm, gallaf redeg y gorchymyn canlynol:

* Gorchymyn * * * *

Felly rhaid i chi fod yn ofalus ynglŷn â gosod eich gorchmynion crontab.

Er enghraifft:

* * * 1 gorchymyn

Byddai'r gorchymyn uchod yn rhedeg bob munud bob awr o bob dydd o bob wythnos ym mis Ionawr. Yr wyf yn amau ​​mai dyna'r hyn yr ydych ei eisiau.

I redeg gorchymyn am 5 am ar 1 Ionawr, byddech yn y gorchymyn canlynol i'r ffeil crontab:

0 5 1 1 * gorchymyn

Sut i Dileu Ffeil Crontab

Y rhan fwyaf o'r amser fyddwch chi ddim eisiau dileu'r ffeil crontab ond efallai y byddwch am gael gwared ar rai rhesi o'r ffeil crontab.

Fodd bynnag, os ydych chi eisiau dileu ffeil crontab eich defnyddiwr, rhowch y gorchymyn canlynol:

crontab -r

Dull mwy diogel i wneud hyn yw rhedeg y gorchymyn canlynol:

crontab -i

Mae hyn yn gofyn y cwestiwn "ydych chi'n siŵr?" cyn dileu'r ffeil crontab.