5 Цронтаб примера који ће вам помоћи да аутоматизујете Линук задатке

5 Цронтаб примера који ће вам помоћи да аутоматизујете Линук задатке

Програм црон аутоматизује извођење других програма на Линук -у. Црон је демон који ради непрекидно и покреће друге програме према задатом распореду. Неколико различитих датотека дефинише овај распоред. Они су појединачно познати као цронтабс.





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





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





1. Чишћење /тмп помоћу системског Цронтаба

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

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



Ево једног начина чишћења /тмп -а или било ког другог именика по вашем избору:

1 3 * * * /usr/bin/find /tmp -type f -atime +10 -delete

Сваки трећи минут, три, црон ће извршити ову наредбу. Користи наредба финд за тражење датотека у /тмп директоријуму. Филтрира све осим нормалних датотека које су последњи пут измењене пре најмање 10 дана. Затим уклања све такве датотеке које пронађе.





Требало би да додате овакву команду у глобални цронтаб као што је /етц/цронтаб или роот'с цронтаб користећи судо цронтаб -е . Наредба мора да се изврши као роот да би могла да брише датотеке у /тмп без обзира на то ко је њихов власник.

Имајте на уму да овај пример специфицира пуну путању до команде финд. Црон користи основни ПАТХ поставка за тражење извршних датотека, па ако је команда на стандардном месту (нпр /уср/бин ), ово заиста није потребно. Можете навести алтернативни ПАТХ у самој цронтаб страници ако више волите такав приступ. Али коришћење пуне путање за команде је мало отпорније.





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

2. Сигурносне копије базе података два пута дневно

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

crontab -e

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

30 4 * * * /usr/local/mysql/bin/mysqldump --login-path=local --databases albums > /tmp/album-db.$(date +\%s).sql

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

бесплатно стримовање филмова без регистрације

Обратите пажњу на то како горњи пример користи замену команде за изградњу имена датотеке на основу тренутне временске ознаке Уник -а. Због % симбол има посебно значење за крон, команда мора да га избегне претходном обрнутом косом цртом.

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

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

* * * * * /Users/bobby/bin/site-monitor.sh

Имајте на уму да, у теорији, можете користити КУЋА проширење променљиве или тилде за краћу команду:

* * * * * ~/bin/site-monitor.sh

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

Скрипта сама користи програм цурл за преузимање Код статуса ХТТП за дати УРЛ. Ако статус указује на било шта друго осим на успех, скрипта исписује поруку на излаз.

Као што је раније поменуто, црон ће нам послати овај излаз путем е -поште. Може бити корисно да команде у црон -у не дају резултате о успеху.

#!/bin/bash
STATUS=`curl -s -o /dev/null -I -w '%{http_code}' http://example.com/`
if [ '$STATUS' != '200' ]
then
echo 'site appears to be down'
fi

4. Извештаји о простору на диску путем е -поште

Ако желите да промените подразумевано понашање е -поште путем црон -а, можете користити МАИЛТО променљива окружења. Црон подржава неколико променљивих које можете поставити у датотеци цронтаб. Црон затим примењује ове променљиве на окружење сваке наредбе која следи.

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

MAILTO=user@example.com

Ово ћете морати да покренете на машини која је подешена за слање спољне е -поште ако је потребно. Ево примера који ће послати е -поруку другом кориснику на истој машини. Ради два пута дневно, у 12:00 и 23:00. Тхе дф команда приказује слободан простор на диску, па овај унос цронтаб делегира задатак да провери да ли простор на диску изгледа у реду:

MAILTO='sarah'
0 12,23 * * * /bin/df -h

Добијена порука е -поште ће изгледати отприлике овако:

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

MAILTO=''

5. Емитујте поруку у одређено време

Остали примери користе прилично једноставно планирање, али црон подржава моћну синтаксу за временске спецификације. Не обрађује само тачна подударања, већ и:

  • Више вредности одвојених зарезом ( , )
  • Опсези наведени цртицом ( - )
  • Вредности корака после косе црте (( / )

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

0 15,45 9-17/3 ? * * * echo 'Enjoy your work!' | wall

Ова команда ће се извршавати у 15 и 45 минута иза сата, свака три сата током сати од 9 до 17 сати. Зидна команда шаље поруку сваком пријављеном кориснику терминала.

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

Црон може аутоматизовати многе врсте Линук задатака

Ово је мали избор врста задатака које вам црон може помоћи у аутоматизацији. Можда ће требати неко време да се упознате са сложеном синтаксом, али црон је моћан алат. Можете користити црон и за системске задатке и за задатке специфичне за корисника.

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

Објави Објави Твеет Емаил Како користити Цронтаб за аутоматизацију понављајућих задатака у Линуку

Желите ли да уштедите време и аутоматизујете кључне процесе у Линук -у? Цронтаб је одговор.

Прочитајте следеће
Повезане теме
  • Линук
  • Рачунарска аутоматизација
  • Аутоматизација задатака
  • Линук наредбе
О аутору Бобби Јацк(Објављено 58 чланака)

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

како избрисати резервне копије временске машине
Више од Боббија Јацка

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили