Црон послови: Комплетан водич за почетнике

Cron Jobs Complete Beginners Tutorial



Црон је најкориснији услужни програм у оперативном систему налик Линук-у или УНИКС-у који дозвољава покретање наредби или скрипти по задатом распореду без икакве интервенције корисника. Заказане команде и скрипте се такође именују као црон послови. Углавном се користи за аутоматизацију понављајућих послова попут покретања заказаних резервних копија, чишћења привремених датотека, одржавања система и разних других понављајућих послова. Сличан је распореду задатака у Виндовс ОС -у.

У овом водичу ћемо вам дати основни увод у све што требате разумјети за заказивање посла помоћу црона. Ово укључује основну синтаксу црон -а, уређивање датотеке цронтаб, заказивање посла са црон -ом са неколико примера, приказ посла црон -а итд.







Основе Црон Јоба

Хајде да разумемо неке основе црон посла.



Шта је Цронд?

Цронд је демон у Линук систему који ради у позадини и проверава сваког минута да ли је у то време заказан неки посао. Ако постоји, обавља тај посао, иначе остаје неактиван.



Црон Синтакса посла

Синтакса за црон посао је следећа:





* * * * *команда/скрипта

С леве стране:

  • Први * одговара записима (0-59)
  • Други * одговара сатима (0-23)
  • Трећи * одговара дану у месецу (1-31)
  • Четврти * одговара месецу у години (1-12)
  • Пети * одговара дану у недељи (0-6, од недеље до суботе)

Да бисте навели више вредности у пољу, користите следеће симболе оператора:



  1. Звездица (*): Да бисте навели све могуће вредности за поље
  2. Цртица (-): До с одредите низ вредности
  3. Зарез (,): Да бисте навели листу вредности
  4. Раздвајач (/): Да бисте навели вредност корака

Уређивање Цронтаб датотеке

Цронтаб је датотека која садржи заказане послове у одређеној синтакси. Постоје две врсте датотека цронтаб; један за системске крон послове, а други за црон послове специфичне за кориснике.

Систем црон послови

Црон системски црон послови налазе се у /етц/цронтаб датотека и /етц/црон.д директоријума и пролазе кроз њих /етц/црон.хоурли , /етц/црон.даили , /етц/црон.веекли и /етц/црон.монтхли. Само администратор система може приступити овим датотекама.

Администратор система може да дефинише црон посао помоћу следеће команде:

$нано /итд/цронтаб

Ево синтаксе посла у /етц/цронтаб фајл:

# мин хр даиофмонтх монтх даиофвеек наредба за корисничко име
* * * * *усер1ифцонфиг

Црон послови специфични за корисника

Црон послови специфични за кориснике налазе се у / вар / споол / црон / цронтабс именик. Иако ове послове можете уредити ручно, препоручује се да их уредите помоћу наредбе цронтаб -е.

Стандардни корисник може дефинисати црон посао помоћу следеће команде:

$цронтаб

На пример, ако сте пријављени као пробни корисник, извршавање команде цронтаб -е ће уредити датотеку цронтаб за пробног корисника. Слично, ако сте пријављени као роот корисник, команда цронтаб -е ће уредити датотеку цронтаб за роот корисника.

Издајте наредбу испод у Терминалу да бисте уредили датотеку цронтаб за било ког другог корисника:

$судоцронтаб <корисничко име>

На пример, ако сте пријављени као корисник тест1 и желите да уредите датотеку цронтаб за корисника тест2, наредба би била:

$судоцронтабтест2

Ево синтаксе црон посла који се може додати у датотеку цронтаб:

# м х данофмесечни месец даиофвеек команда
* * * * * ифцонфиг

У пословима специфичним за кориснике можете видети да нема пријављеног корисничког имена.

Цронтаб Цоммандс

Наредба цронтаб се користи за уређивање, попис и уклањање црон послова:

  • цронтаб -е За уређивање датотеке цронтаб тренутног корисника
  • цронтаб -л За приказ садржаја датотеке цронтаб
  • цронтаб -у [корисничко име] Да бисте уредили датотеку цронтаб било ког другог корисника
  • цронтаб -р Да бисте уклонили датотеку цронтаб тренутног корисника
  • цронтаб -и За приказ упита пре уклањања датотеке цронтаб тренутног корисника

Заказивање посла са Кроном

Помоћу Црона можете да радите посао у одређено време, датум и интервале са минималном јединицом у минутима, односно можете да покренете посао сваког минута.

Да бисте заказали посао са цроном, отворите датотеку цронтаб помоћу методе описане у претходном одељку. Када отворите датотеку цронтаб, од вас ће бити затражено да изаберете уређивач текста. Унесите број да бисте изабрали жељени уређивач текста. Померите се надоле до дна датотеке и додајте послове у горе описаној синтакси. Сваки ред у датотеци наводи једну наредбу. Првих пет уноса у реду одређује заказано време, а последњи уноси која команда или скрипта треба да се изврши.

Пример:

Следећи ред у датотеци цронтаб заказаће црон посао за извршавање наредбе/скрипте сваких 30. минута после 5 сати сваког дана у недељи од понедељка до суботе.

* /30 5 * * 1-6команда/скрипта

Минута

У овом пољу одређујемо минуте када желимо да се наредба изврши. Наведено је од 0 до 59. * у овом пољу значи покретање посла сваког минута. У горњој линији цронтаб, */30 говори црон послу да извршава наведену наредбу/скрипту сваких 30 минута.

Хоурс

У овом пољу одређујемо сате када желимо да се наредба изврши. Наведено је од 0 до 23. Знак * у овом пољу значи покретање посла сваких сат времена. У горњој линији цронтаб, вриједност 5 говори црон послу да извршава наведену наредбу/скрипту сваких пет сати.

Дан у месецу

У овом пољу наводимо одређене дане у месецима када желимо да се наредба изврши. Наведено је од 1 до 31. * у овом пољу значи сваки дан. У горњој линији цронтаб, * говори црон послу да сваки дан извршава наведену наредбу/скрипту.

Месец у години

У овом пољу наводимо одређене месеце када желимо да се наредба изврши. Наведено је од 1 до 12. * у овом пољу значи сваки месец. У горњој линији цронтаб, * говори црон послу да извршава наведену наредбу/скрипту сваког мјесеца.

Дан у недељи

У овом пољу специфицирамо одређене дане у недељи када желимо да се наредба изврши. Одређено је од 0 до 6 од недеље до суботе (0 за недељу и 6 за суботу). * У овом пољу значи сваки дан у недељи. У горњој линији цронтаб, * говори црон послу да извршава наведену наредбу/скрипту сваки дан у седмици.

Примери Црон послова

Ево неколико примера црон послова:

Покрени црон посао сваких 15 минута

Да бисте заказали извршавање црон посла сваких 15 минута, додајте доњи ред у датотеку цронтаб:

* /петнаест * * * *команда/скрипта

Покрените црон посао сваки дан у 5 ујутро

Да бисте заказали да се црон посао изводи сваког дана у 5 ујутро, додајте доњи ред у датотеку цронтаб:

0 5 * * *команда/скрипта

Покрените црон посао сваког дана у 17:00

Да бисте заказали да се црон посао изводи сваког дана у 17 сати, додајте доњи ред у датотеку цронтаб:

0 17 * * *команда/скрипта

Покрените црон посао у 9 ујутро првог дана сваког месеца

Да бисте заказали да се црон посао изводи у 9 сати првог дана сваког месеца, додајте доњи ред у датотеку цронтаб:

0 9 1 * *команда/скрипта

Покрените црон посао сваког сата сваког 15. марта

Да бисте заказали црон посао сваког сата сваког 15. марта, додајте доњи ред у датотеку цронтаб:

0 * петнаест 3 *команда/скрипта

Покрените црон посао сваких 5 сати

Да бисте заказали црон посао сваких 5 сати, додајте доњи ред у датотеку цронтаб:

0 * /5 * * *команда/скрипта

Покрени црон посао сваких 15 минута

Да бисте заказали извршавање црон посла сваких 15 минута, додајте доњи ред у датотеку цронтаб:

* /петнаест * * * *

Коришћење стрингова

Следећи низови се такође могу користити за дефинисање посла:

  1. @По сату: За обављање посла једном сваких сат времена, тј. 0 * * * *
  2. @поноћ: За обављање посла једном дневно, тј. 0 0 * * *
  3. @дневно: исто као у поноћ
  4. @недељно: За обављање посла једном недељно, тј. 0 0 * * 0
  5. @месечно: За обављање посла једном месечно, тј. 0 0 1 * *
  6. @сваке године: За обављање посла једном годишње, тј. 0 0 1 1 *
  7. @годисње: исто као @годишње
  8. @рестарт: Да извршите посао једном при сваком покретању

На пример, за покретање скрипте или команде сваке недеље, унос у датотеци цронтаб би био:

@недељна команда/скрипта

Унапред дефинисани Црон именици

У Линуку постоје неки унапред дефинисани директоријуми црон у којима се сачуване скрипте аутоматски извршавају. Ако било коју скрипту ставимо под ове директоријуме, она ће се аутоматски извршити у конфигурисано време.

  • /етц/црон.даили
  • /етц/црон.хоурли
  • /етц/црон.монтхли
  • /етц/црон.веекли

На пример, да бисте извршили скрипту једном месечно, мораћете да је поставите у /етц/црон.монтхли.

Погледајте Црон послове

Прегледајте послове за тренутног корисника

Користите следећу команду да видите све заказане црон послове за тренутног корисника:

$цронтаб-тхе

Прегледајте послове за роот кориснике

Да бисте видели све заказане послове роот корисника, у Терминалу издајте следећу команду:

$мачка /итд/цронтаб

Мораћете да се пријавите као роот корисник или да покренете команду као судо.

Прегледајте послове за друге кориснике

Да бисте видели све заказане послове одређеног корисника, у Терминалу издајте следећу команду замењујући име стварним корисничким именом:

$судоцронтаб <корисничко име> -тхе

Да бисте покренули ову команду, биће вам потребне судо привилегије.

Прегледајте црон послове по сату

Да бисте видели све црон послове који су конфигурисани за извођење по сату, у Терминалу издајте следећу команду:

$лс -тхе /итд/црон.сатно

Прегледајте дневне црон послове

Да бисте видели све црон послове који су конфигурисани за свакодневно покретање, у Терминалу издајте следећу команду:

$лс -тхе /итд/црон.даили/

Прегледајте недељне црон послове

Да бисте видели све црон послове који су конфигурисани за недељно извршавање, у Терминалу издајте следећу команду:

$лс -тхе /итд/црон.недељно/

Прегледајте месечне црон послове

Да бисте приказали све црон послове који су конфигурисани за покретање месечно, у Терминалу издајте следећу команду:

$лс -тхе /итд/црон.месечно/

Направите резервну копију свих Црон послова

Препоручује се да направите резервну копију свих црон задатака у датотеци како бисте могли да се опоравите у случају брисања. Да бисте направили резервну копију свих тренутних послова, помоћу оператора преусмеравања преусмерите излаз цронтаб -л у датотеку.

$цронтаб-тхе >бацкуп_црон.ткт

Уклањање свих планираних Црон послова

Да бисте уклонили све заказане црон задатке, користите ознаку -р на следећи начин:

$цронтаб

Црон Пермиссион

Можемо ограничити приступ команди цронтаб кроз две датотеке: / етц/црон.аллов и/етц/црон.дени.

  • /етц/црон.аллов - Додајте кориснике (по један у сваки ред) којима желите да дозволите приступ командама цронтаб. Ови корисници могу покретати послове по распореду.
  • /етц/црон.дени - Додајте кориснике (по један у сваки ред) којима желите да одбијете приступ командама цронтаб. Ови корисници не могу покретати заказане послове.

Генератори синтаксе Цронтаб

Постоје неке веб локације које дозвољавају генерисање синтаксе за цронтабе. Ове веб странице олакшавају генерисање цронтаб израза без потребе да се сећате синтаксе. Иако постоје различите веб локације за генерисање синтаксе, као што су цронтабгенератор.цом , цронтаб-генератор.орг , и цронмакер.цом . Оно што највише волим и сматрам да ми је од помоћи је цронтаб.гуру . На основу уноса корисника, он генерише израз цронтаб који можете копирати и залепити у датотеку цронтаб.

Закључак

У овом водичу смо објаснили основе црон послова, његову синтаксу и како је поставити. Такође смо разговарали о томе како прегледати црон послове, креирати резервну копију и уклонити их ако више нису потребни.