Црон & цронтаб, објашњено

Луцаин објављен Пре неког времена одличан водич за црон и цронтаб које мислим да вреди поделити. Црон је врста еквивалента планираним задацима у оперативном систему Виндовс, само да се њиме рукује са терминала. Они који више воле визуелни интерфејс да би постигли исти циљ, могу то да виде други чланак.

Шта је црон?

Име црон потиче од грчког цхронос што значи „време“. У оперативном систему Уник, црон је редовни управљач позадинским процесима (демон) који покреће процесе или скрипте у редовним интервалима (на пример, сваки минут, дан, недељу или месец). Процеси који се морају извршити и време у којем се морају извршити наведени су у датотеци цронтаб.

цомо радови

Црон демон почиње од /етц/рц.д/ o /етц/инит.д у зависности од расподеле. Црон ради у позадини, проверава табелу задатака цронтаб сваког минута / етц / цронтаб или у / вар / споол / црон у потрази за задацима које треба извршити. Као корисник можемо додати команде или скрипте са задацима у црон за аутоматизацију неких процеса. Ово је корисно, на пример, за аутоматизацију ажурирања система или доброг резервног система.

Повезани чланак:
Водич: Инсталирајте .тар.гз и .тар.бз2 пакете

Шта је Цронтаб?

Цронтаб је једноставна текстуална датотека која чува листу наредби које треба извршити у време које је одредио корисник. Цронтаб ће проверити датум и време када треба извршити скрипту или наредбу, дозволе за извршавање и то ће учинити у позадини. Сваки корисник може имати своју цронтаб датотеку, заправо / етц / цронтаб Претпоставља се да је датотека роот корисника цронтаб, када нормални корисници (па чак и роот) желе да генеришу сопствену датотеку цронтаб, тада ћемо користити команду цронтаб.

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

Коришћење цронтаб-а

Почињемо са једноставним примером.

Аутоматизоваћемо ажурирање система како бисмо елиминисали досадно „Увек морам да ажурирам и то ми се не свиђа!

како
Повезани чланак:
Наредбе за познавање система (идентификовање хардверских и неких софтверских конфигурација)

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

#! / бин / басх # пример ажурирања скрипте # одаберите дистрибуцију # дебиан-убунту # апт-гет упдате & апт-гет -и упграде #федора #иум -и упдате # Арцх #пацман --ноцонфирм -Сиу

Уклоните # са ваше дистро линије. У случају да је Убунту / Дебиан, започиње са апт-гет.

Скрипту чувамо као упдате.сх (нпр. Директоријум скрипти у ваш дом). Дозволе за извршење поменуте скрипте мењамо са:

цхмод а + к ~ / сцриптс / упдате.сх

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

Додајте задатке у цронтаб

Изводимо издање цронтаб-а са цронтаб -е, у неким дистро-овима (попут Убунту-а) даје нам могућност да изаберемо уређивач текста који желимо, остало нам остаје ви. Датотека цронтаб ће изгледати отприлике овако.

# мх дом мон дов корисничка команда

где:

  • m одговара минуту извршења скрипте, вредност се креће од 0 до 59
  • h тачно време, обрађује се 24-часовни формат, вредности се крећу од 0 до 23, са 0 у 12:00 поноћи.
  • поклон односи се на дан у месецу, на пример, можете да наведете 15 ако желите да трчите сваких 15 дана
  • Дов означава дан у недељи, може бити нумерички (0 до 7, где су 0 и 7 недеља) или прва 3 слова дана на енглеском: пон, уторак, среда, чет, пет, суб, сунце.
  • корисник дефинише корисника који ће извршити наредбу, може бити роот или други корисник уколико имају дозволу за извршавање скрипте.
  • команда односи се на наредбу или апсолутни пут скрипте која се извршава, пример: /хоме/усуарио/сцриптс/ацтуализар.сх, ако зове скрипту, мора бити извршна

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

15 10 * * * корисник /хоме/усер/сцриптс/упдате.сх

Покретаће скрипту упдате.сх сваког дана у 10:15

15 22 * * * корисник /хоме/усер/сцриптс/упдате.сх

Покретаће скрипту упдате.сх сваког дана у 10:15

00 10 * * 0 роот апт-гет -и упдате Руот корисник

Ажурираће се сваке недеље у 10:00

45 10 * * ажурирање апт-гет -и сун роот

Роот корисник ће покренути ажурирање сваке недеље (недеља) у 10:45

30 7 20 11 * корисник /хоме/усуарио/сцриптс/упдате.сх

20. новембра у 7:30 корисник ће покренути скрипту

30 7 11 11 корисник сунца /хоме/усуарио/сцриптс/пастел_цон_велитас.сх

11. новембра у 7:30 и то је недеља, корисник ће прославити свог сисадмина (то јест, мене)

01 * * * * корисник /хоме/усуарио/сцриптс/молесторецордаторио.сх

Досадан подсетник сваког минута сваког сата сваког дана (НЕ препоручује се).

И даље се њима може руковати посебни опсези:

КСНУМКС КСНУМКС * * КСНУМКС

У 5:30 поподне сваког дана од понедељка до петка.

00 12 1,15,28 * *

Првог, петнаестог и 12. у месецу у 28 сати (идеално за обрачун зарада)

Ако је ово збуњујуће, рукује цронтаб посебни низови за дефинисање ових опсега.

@ребоот Покрените једном приликом покретања
@иеарли ради само једном годишње: 0 0 1 1 *
@ годишње исто као и @године
@месечно ради једном месечно, првог дана: 0 0 1 * *
@веекли Веекли први минут првог сата у недељи. 0 0 * * 0 ″.
@даили свакодневно, у 12:00 А.М. 0 0 * * *
@миднигхт исто као @даили
@ сваког сата у првом минуту сваког сата: 0 * * * *

Његова употреба је врло једноставна.

@хоурли усер /хоме/усер/сцриптс/молесторецордаторио.сх @монтхли усер /хоме/усер/сцриптс/бацкуп.сх @даили роот апт-гет упдате && апт-гет -и упграде

На крају, али не мање важно:

Црон управљање послом

цронтаб датотеку

Замените постојећу датотеку цронтаб корисничком датотеком

цронтаб -е

Уредите корисникову цронтаб датотеку, сваки нови ред ће бити нови цронтаб задатак.

цронтаб -л

Наведите све корисничке задатке цронтаб

цронтаб -д

Избришите корисников кронтаб

цронтаб -ц р

Дефинише корисников директоријум цронтаб (овај мора имати корисникове дозволе за писање и извршавање)

цронтаб -у корисник

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

$ судо цронтаб -л -у роот $ судо цронтаб -е усер2 #цронтаб -д -у корисник

И овај алат се, као и многи други, може дубље и детаљније видети у:

Хвала Луцаин!

Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   Алваро Ортиз дијо

    Уф ... помало збуњујуће.

  2.   тоник дијо

    * / 30 недостаје (у пољу минута) који траје сваких 30 минута ...

    1.    ерм3нда дијо

      Управо ово сам хтео да коментаришем док нисам одлучио да прегледам коментаре 😀
      Овај модификатор је врло важан податак и нешто врло корисно.

      1.    КИКА дијо

        Поздрав!
        Тренутно тестирам конфигурацију на сваких 45 минута.

        * / 45 * * * *, а инструкција се извршава на 45 минута сваког сата И сваког сата. Односно:

        Ради у 3:45, па 4:00, 4:45, па 5:00, 5:45, 6:00, 6:45 и тако даље.

        Нешто нисам у реду? Шта могу да урадим да то направим само на сваких 45 минута или бар једном на 45 минута на сат.

    2.    КИКА дијо

      Поздрав!
      Тренутно тестирам конфигурацију на сваких 45 минута.

      * / 45 * * * *, а инструкција се извршава на 45 минута сваког сата И сваког сата. Односно:

      Ради у 3:45, па 4:00, 4:45, па 5:00, 5:45, 6:00, 6:45 и тако даље.

      Нешто нисам у реду? Шта могу да урадим да то направим само на сваких 45 минута или бар једном на 45 минута на сат.

  3.   Слацк дијо

    Здраво супер корисне информације за разјашњење како црон ради.
    бајтова

  4.   Слацк дијо

    за *

  5.   Ловац дијо

    Одлично, хвала што сте разјаснили како црон ради .. ставимо мало руке 🙂

  6.   Јаков дијо

    Колико сам разумео, овај ред ће се извршити у 10:15, исправите ме ако грешим
    Па тамо стоји 10:15
    15 22 * * * корисник /хоме/усер/сцриптс/упдате.сх

  7.   Агустин дијо

    Здраво! врло добре информације.
    Да бисте извршавали скрипту сваких пола сата, линија коју треба додати у ЦронТаб би била: „30 * * * * роот Сцрип.сх“ Тачно? Хвала Вам много!

  8.   искористимо линук дијо

    Не. Ако се добро сећам, за то морате ставити / 30 * * * * роот Сцрип.сх.
    Односно, додајте / пре 30.
    Живели! Паул.

  9.   Јонатхан дијо

    Поздрав, свидео ми се ваш пост, врло је потпун, али желео сам да вас нешто питам.
    Имам проблема са овом командом и једном попут „ат“.

    Желим да покренем скрипту у одређено време и ставим

    на примеру -ф /хоме/ми_усер/Деск/сцрипт.сх 18:08

    а скрипта се не извршава на екрану, односно у терминалу, да ли се извршава у позадини?

    А са црон-ом ми се догађа исто, ја уређујем цронтаб датотеку са "цронтаб -е"

    на крају додајем овај ред:

    46 19 ми_усер /хоме/ми_усер/Деск/сцрипт.сх

    и не ради ништа, не приказује сценарио.

    Било који сугестија? Пуно вам хвала и извињавам се због непријатности

    1.    искористимо линук дијо

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

      На пример:

      лктерминал -е "ми_усер /хоме/ми_усер/Деск/сцрипт.сх"

      Параметар који се користи може се разликовати у зависности од емулатора терминала који користите.

      Надам се да ће успети.

      Загрљај! Паул.

  10.   патретцас дијо

    Допринос се цени.

    10 бодова !!

    салу2 !!

  11.   Родолфо дијо

    Пуно вам хвала, пуно ми је помогло да појасним неке ствари, потпуно хвала, за више детаља или недоумице отићи ћу на СТРАНИЦУ ЧОВЕКА, поновио поздрав.

  12.   јахир дијо

    Ујаче, хвала ти пуно, читао сам и тестирао примере. пуно вам хвала ... врло је разумљиво. Живели

  13.   Геованни дијо

    Користио сам убунту Сервер 12.04.2 ЛТС и користи се верзија цронтаб коју имам за брисање листе корисничких послова, цронтаб -р (и -л, како каже ово упутство). Сигурно је у питању верзија.

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

    ПС (претраживао сам са лоцате и вхереис цронтаб, али вратио је само горе поменуту адресу и другу датотеку која је шифрована, па ако је извршена она у / етц / цронтаб, али приликом извршавања команде цронтаб -е, моја би се појавила са свим пословима које сам дефинисао) где се чувала ова датотека '???? Поздрави. Увек се пријављујем са роот-ом.

  14.   себастиан дијо

    Одлично, врло корисно !!!

  15.   ммм дијо

    Здраво, желео бих да урадим ово ………… «15 10 * * * роот ифдовн етх0»

    то јест, у одређено време се мрежна картица искључује ………… па, ставио сам је у цронтаб и није успела …… .. шта има?

    Салудос и грациас

  16.   Мигуел дијо

    Пропустили сте дефинисање "пон" после наслова "Додавање задатака у цронтаб"

    Чланак је и даље леп, црон је изузетно користан.

  17.   ОСцар дијо

    Како је цоол био тај добар пост, питајте ме
    Ако желим да евидентирам записе остављене извршавањем задатака, где то могу видети?

    је да одлучим да желим да видим историју радњи извршених у прошлости ове датотеке и желим да видим ко ју је изменио и датум

    хвала

  18.   Осцар дијо

    Желим да проверим историју модификација овог

    како могу то учинити

    хвала

  19.   Андрес Ледо дијо

    Добро јутро,

    Мислим да сте у убунту скрипти погрешили, ставили сте ап-гет -и надоградњу уместо апт-гет -и надоградњу. (Оставио си т).

    Поздрав.

    1.    искористимо линук дијо

      Тако је. Хвала вам!
      Загрљај! Паул

  20.   Габријел дијо

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

  21.   Валентин дијо

    Хвала што сте разјаснили операцију и основне команде за црон, а сада се мало забавите.

  22.   Машина за хобловање дијо

    Кад год потражим информације о било којој теми која се односи на Гну / Линук, обилазим да бих у 90% случајева увек пронашао најбољи водич у овој сјајној заједници, мислим да ћу од сада почети овде и онда негде другде.

    поздрави

    1.    искористимо линук дијо

      Хвала Сандер! Загрљај! Паул.

  23.   дарио дијо

    дом = дан у месецу
    дов = дан у недељи
    лакше је ако се удружујете

  24.   Пасцхал дијо

    Хвала вам пуно, врло комплетно и добро објашњено.

  25.   Макиллиа дијо

    То је иста ствар коју нам је дао мој учитељ оперативних система, не мењам ништа, сада видим зашто је час тако лош.-.

  26.   Марчело дијо

    Процењено,

    Упит, може ли време трајања задатка бити ограничено?
    На пример, имам задатак који се понавља сваких 5 минута, на понављању ако је тај задатак и даље активан, убијте га и покрените поново.

    Хвала
    Марцело.-

    1.    искористимо линук дијо

      Здраво, Марцело!

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

      Загрљај, Пабло.

  27.   aj дијо

    добар пост.
    Која је наредба по терминалу за додавање задатака у цронтаб (без уношења цронтаба и додавања ручно са „цронтаб -е“ или замене цронтаба другим цронтабом са „цронтаб датотека“).
    Идеја је створити спољну скрипту за додавање задатака у цронтаб
    хвала

    1.    Давид дијо

      чини ми се да бисте могли да користите 'ецхо' шта год желите да додате '| мачка >> 'путања кронотаба (/ етц / цронотаб)' «

  28.   Рафаел Вера дијо

    Како би се израз приказивао тачно на свака 3 дана

  29.   Јосе Антонио дијо

    Здраво.

    Имам проблем са извршавањем хрон посла.

    Покрећем следећи задатак са цронта -е:

    01 * * * * роот /хоме/усер/сцрипт/мфиле.сх

    али задатак није готов. Проверио сам да мифиле.сх има дозволу за извршавање и да је корисник који га извршава роот.

    Покрећем исти задатак у / етц / цронтаб и након поновног покретања услуге ни мени то не функционише.
    Садржај мифиле.сх је наредба која ажурира ДБ и ако је покренем у конзоли, то функционише.
    било која идеја у чему је проблем?

    1.    Фредд дијо

      Корисник базе података можда неће имати све дозволе и прво ћете морати извести варијабле окружења из вашег механизма базе података.
      На пример, у дб2, овај ред ће ићи на почетак скрипте
      . / хоме / дб2инст1 / скллиб / дб2профиле

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

  30.   ЛАКСНУМКС дијо

    Нисам знао да морам поново покренути цронд, борио сам се с тим већ неко време

  31.   Кениа дијо

    Они ће знати како да назначе да се задатак изводи сваког краја месеца, у назначено време .. детаљ је да не могу да постигнем како знам да је потребан последњи дан у месецу .. ?? Морао сам да их записујем једног по једног, али кад крај месеца фебруара дође да је бициесто, то ми је компликовано ..

  32.   Исус дијо

    Добар дан!!

    Како да зауставим процес који се извршава у цронтабу?

  33.   Исус дијо

    процес * …………

  34.   Јулианна дијо

    Да ли бисте могли да ми помогнете? еу тенхо ум скрипта аутора Минхе, која не ради, нема цронтаб! Јб деи све дозволе, а не одређени црон или корисник који то може извршити - готово се ништа не дешава! Желео бих да знам да ли можете да ми помогнете, неке друге ствари не делују без проблема! Влвс

  35.   Анток дијо

    Како бисте поставили задатак да се покреће сваког последњег дана у месецу (дани: 31-30-28)?

  36.   тферцхо дијо

    Као што знате, наредба су користи се за промену корисника у конзоли. Ако користим наредбу су на следећи начин: „твој корисник“ промени корисника, али без одговарајућих подешавања „усер“, ако покренем су као: „су - усер“, промени корисника учитавањем корисничких подешавања. Помоћу црон означавам корисника, али како да учитам конфигурације овог корисника?

  37.   Пљачкати дијо

    А ако желим да то зауставим?

  38.   Реги дијо

    Здраво,
    Не знам у чему грешим, али следим кораке и ништа се не извршава. Покушао сам:
    59 * * * * / уср / бин / гедит
    * * * * * / уср / бин / гедит
    * * * * * роот / уср / бин / гедит
    * * * * * уср / бин / тест.сх
    * * * * * роот уср / бин / тест.сх

    и баш ништа. Не извршава ништа. Покренуо сам систем и све.

  39.   Феркос дијо

    много вам хвала