Hvernig Til Breyta Linux Crontab Skrá Til Stundaskrá Jobs

Kynning

Það er þjónn í Linux sem heitir Cron sem er notað til að keyra ferli með reglulegu millibili.

Hvernig það gerir þetta er að athuga ákveðnar möppur á kerfinu þínu fyrir forskriftir til að keyra. Til dæmis er mappa sem heitir /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly og /etc/cron.monthly. Það er einnig skrá sem kallast / etc / crontab.

Sjálfgefið er að þú getur einfaldlega sett forskriftir í viðkomandi möppur til að fá þá til að keyra reglulega.

Til dæmis, opnaðu flugstöðvar glugga (með því að ýta á CTRL, ALT og T) og hlaupa eftirfarandi ls stjórn :

ls / etc / cron *

Þú munt sjá lista yfir forrit eða forskriftir sem eru keyrðir á klukkutíma fresti, daglega, vikulega og mánaðarlega.

Vandræði með þessum möppum er að þau eru svolítið óljós. Til dæmis þýðir daglega að handritið muni hlaupa einu sinni á dag en þú hefur ekki stjórn á þeim tíma sem handritið mun keyra á þeim degi.

Það er þar sem crontab skráin kemur inn.

Með því að breyta crontab skránum er hægt að fá handrit eða forrit til að keyra á nákvæmlega dagsetningu og tíma sem þú vilt að það sé keyrt. Til dæmis kannski viltu afrita skrárnar á hverju kvöldi klukkan 18:00.

Heimildir

Command crontab krefst þess að notandi hafi heimild til að breyta crontab skrá. Það eru í grundvallaratriðum tvær skrár sem eru notaðar til að stjórna heimildum crontabs:

Ef skráin /etc/cron.allow er til staðar verður notandinn sem vill breyta crontab skránni í skránni. Ef cron.allow skráin er ekki til en það er /etc/cron.deny skrá þá þarf notandinn ekki að vera til í þeim skrá.

Ef báðir skrár eru til staðar þá er /etc/cron.allow overrides /etc/cron.deny skrána.

Ef enginn skrá er til staðar fer það eftir kerfisstillingu hvort notandi geti breytt crontab.

Rót notandi getur alltaf breytt crontab skrá. Þú getur annaðhvort notað su stjórnina til að skipta yfir í rót notanda eða sudo stjórn til að keyra crontab stjórn.

Breyting á Crontab-skránni

Hver notandi sem hefur heimildir getur búið til eigin crontab skrá. Cron stjórnin leitar í grundvallaratriðum fyrir tilvist margra crontabskrár og liggur í gegnum þá alla.

Til að athuga hvort þú ert með crontab skrá skaltu keyra eftirfarandi skipun:

crontab-l

Ef þú ert ekki með crontab skrá birtist skilaboðin "nei crontab fyrir

Til að búa til eða breyta crontab skrá skaltu keyra eftirfarandi skipun:

crontab -e

Sjálfgefið ef ekki er valið sjálfgefinn ritstjóri þá verður þú beðinn um að velja sjálfgefinn ritstjóri til að nota. Mér finnst gaman að nota nano eins og það er nokkuð beint fram að nota og það liggur frá flugstöðinni.

Skráin sem opnar er með mikið af upplýsingum en lykillinn er dæmið rétt fyrir lok athugasafnsins (athugasemdir eru merktar með línum sem byrja á #).

# mh dom mon dow stjórn

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

Það eru 6 stykki af upplýsingum sem passa á hverja línu í crontabskránni:

Fyrir hvert atriði (nema fyrir stjórnina) er hægt að tilgreina nafnspjald staf. Horfðu á eftirfarandi dæmi crontab línu:

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

Það sem framangreint stjórn er að segja er að 30 mínútur, 18 klukkustundir og hvaða dagur, mánuður og dagur vikunnar hlaupa skipun til að zip og taka heimaskráin í / var / backups möppuna.

Til að fá stjórn til að keyra á 30 mínútum á klukkutíma fresti get ég keyrt eftirfarandi skipun:

30 * * * * stjórn

Til að fá stjórn til að keyra á hverri mínútu kl. 6, þá get ég keyrt eftirfarandi skipun:

* 18 * * * stjórn

Þú verður því að gæta þess að setja upp kröfur þínar.

Til dæmis:

* * * 1 * stjórn

Ofangreind skipun myndi keyra hvert mínútu hverrar klukkustundar á hverjum degi í hverri viku í janúar. Ég efast um að það sé það sem þú vilt.

Til að keyra stjórn á fimmtudaginn þann 1. janúar vartu með eftirfarandi skipun í crontabskránni:

0 5 1 1 * stjórn

Hvernig Til Fjarlægja A Crontab Skrá

Flest af þeim tíma sem þú vilt ekki fjarlægja crontab skráina en þú gætir viljað fjarlægja nokkrar línur úr crontab skránni.

Hins vegar ef þú vilt fjarlægja crontab skrár notandans skaltu keyra eftirfarandi skipun:

crontab -r

Öruggari leið til að gera þetta er að keyra eftirfarandi stjórn:

crontab -i

Þetta spyr spurninguna "ertu viss?" áður en crontabskráin er fjarlægð.