Покрените Црон посао сваке минуте

Run Cron Job Every Minute



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

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







  • Рецимо, ви поседујете веб локацију и желите да свим корисницима своје веб странице свакодневно шаљете е -пошту. Све што треба да урадите је да напишете скрипту за слање е -поште и подесите црон посао за покретање те скрипте сваки дан.
  • Рецимо, да сте власник агенције за оглашавање и желите да подсетите све оглашиваче чије је стање испод 5 УСД да се надоплате. Све што треба да урадите је да напишете скрипту која проверава стање свих оглашивача, а када је испод 5 УСД, послаће обавештење на број мобилног оглашивача или е -пошту. Затим подесите црон посао за покретање скрипте сваких 5 до 10 минута или сваког сата.

Постоје многе друге употребе црон послова у Линуку.



У овом чланку ћу вам показати како покренути црон послове сваког минута на Линуку. За демонстрацију ћу користити Дебиан 9 Стретцх. Али можете користити било коју модерну Линук дистрибуцију по свом избору. Хајде да почнемо.



На Линук -у не морате бити корен да бисте водили црон послове. Можете покренути црон послове као било који корисник. Сваки корисник на Линук -у може користити цронтаб датотеку за покретање сопственог скупа црон послова.





Подразумевано, корисник нема цронтаб датотеку на Линуку. Можете да креирате цронтаб датотеку са следећом командом:

$цронтаб



Ако ову команду покрећете први пут, од вас би требало тражити да изаберете уређивач текста са листе. Ја ћу изабрати нано , подразумевани. Можете изабрати ону која вам се свиђа. Када завршите, притисните .

Тхе цронтаб датотеку треба креирати (ако већ није доступна) и отворити је вашим омиљеним уређивачем текста. Сада можете додати своје црон послове на крај ове датотеке и када будете задовољни, само је сачувајте и изађите из уређивача текста.

Синтакса покретања команде сваке минуте:

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

минут сат даиОфМонтх монтх даиОфВеек цоммандТоРун

Овде,

  • минут може бити 0 до 59 .
  • сат може такође да буде 0 до 59 .
  • даиОфМонтх може бити 1 до 31 .
  • месец дана може бити 1 до 12 .
  • дан у недељи може бити 0 до 7 . 0 и 7 значи недеља, 1 значи понедељак, 2 значи уторак и тако даље.

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

* * * * *цоммандТоРун

Посао Цроб сваке минуте:

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

У тимер.сх сцрипт, имам само следеће редове кодова. Све што треба да уради је да створи нову датотеку /хоме/сховон/бин/тимер.лог (ако већ не постоји) и додаје му излаз наредбе дате.

Сада додајмо скрипту нашој цронтаб и нека ради сваки минут са следећом линијом:

* * * * * /кућа/сховон/сам/тимер.сх

Након што сачувате цронтаб датотеку и изађите из уређивача текста, нови цронтаб датотеку треба инсталирати.

Након што прође минут, нова датотека је тимер.лог је креиран у жељеном директоријуму као што можете видети у означеном одељку снимка екрана испод.

Од тимер.лог лог датотеку, очигледно је да је скрипта тимер.сх трчи сваки минут.

Хватање грешака од Црон послова:

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

Да бих то демонстрирао, изменио сам сценарио тимер.сх помало. Сада се грешке шаљу на еррор.лог датотеку у / хоме / сховон / бин директоријум и излази се шаљу у аццесс.лог у / хоме / сховон / бин именик.

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

Тхе аццесс.лог датотека је тренутно празна.

Сада ћу креирати датотеку /тмп/и_муст_бе_хере

И као што видите, излаз је у аццесс.лог датотеку сада.

Ако желите, можете преусмерити излаз и грешке у истој датотеци на следећи начин:

Као што видите, излази СТДИН и СТДЕРР се шаљу на оут.лог филе.

Уверите се да је последњи посао завршен пре поновног извођења посла:

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

Ова једноставна скрипта чини управо то.

Као што видите, тимер.пид датотека је креирана.

Читање аццесс.лог датотека доказује да се црон посао не изводи пре него што се претходни црон посао заврши. Као што видите, трчао је у 01:32:01 и следећи пут је требао да ради у 01:33:01, али није. Уместо тога, отрчао је у 01:35:01, отприлике 3 минута касније.

Организовање Црон послова за лакше отклањање грешака:

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

Пример како се то може урадити дат је у следећој скрипти.

Као што видите, резултати, грешке и поруке о успеху су лепо одштампани у датотеци дневника.

Можете учинити невероватне ствари помоћу црон послова и схелл скрипти. Овде сам демонстрирао неке од идеја. Али небо је ваша граница. Слободно експериментишите са свим идејама које имате. Хвала што сте прочитали овај чланак.