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

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

Шта је црон?

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

цомо радови

Црон демон почиње од /етц/рц.д/ 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 #цронтаб -д -у корисник

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

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