Ако сте запознати с Линукс, ще знаете, че Cron е приложението, използвано за планиране и автоматизиране на задачи в Linux среда. CronTab е командата, която се използва за достъп до файла Cron, където потребителят може да зададе и планира задачи. Не, не съм изписал погрешно CronTab в заглавието, CornTab е уеб базиран GUI, който ви позволява да зададете график и команди, а след това просто да го копирате и поставите във вашия cron файл.

Има други графични приложения, създадени за лесно редактиране на cron, като Gnome-Schedule. Ако обаче не искате да инсталирате нови приложения, Corntab е страхотно уеб базирано решение, особено ако настройвате задача cron на компютър, който няма Gnome-Schedule или не е съвместим с него.

Използването на cron е доста очевидно - всичко от насрочване на архивиране до изпълняване на персонализирани скриптове в определени моменти, за отваряне на програми по график, cron е начинът да го направите.

Нека да започнем с насрочване на задача, която просто създава таймер за всяка минута в дневника, като първо използва командата за черупки / команди. След това ще преминем същите стъпки с помощта на Corntab, за да можете да видите колко лесно е да използвате. Създаването на тайма-маркер или някакъв изход в лог файл е чудесен начин да проверите дали вашите настройки в cron работят и разбира се, за да следите графика си напред.

Отворете терминал. Преди да започнете, най-добре е да знаете къде да отидете за информация. Ръководството за crontab може да бъде намерено, като напишете:

 човек crontab 

Разбира се, можете да намерите Google и да намерите други уроци и вероятно страниците наръчници онлайн, но винаги е добре да знаете пътя си около командния ред!

Синтаксисът за cron е както следва:

 crontab [-u потребител] файл crontab [-u потребител] [-i] {-e | -l | -r} [-s] 
  • -l опцията кара текущия crontab да се показва на стандартния изход.
  • -r опцията кара текущия crontab да бъде премахнат.
  • -e опцията се използва за редактиране на текущия crontab с помощта на редактор, определен от променливите на VISUAL или EDITOR.
  • -u опцията указва името на потребителя, чийто crontab трябва да бъде променен. Ако тази опция не е дадена, crontab ще използва текущия потребител, който изпълнява командата.
  • -s опцията прибавя текущия конфигурационен контекст за сигурност SELinux като настройка MLS_LEVEL към crontab файла, преди да се извърши редактирането / замяната (вж. документацията на MLS_LEVEL в crontab, която не се използва във всички варианти на Linux / cron).

Имайте предвид, че някои програми трябва да бъдат изпълнени с права на root. В такъв случай ще трябва да промените командата su командата su или командата sudo която трябва да работи в повечето варианти на Linux (Debian, Ubuntu, Fedora).

За да редактирате вашия тип crontab:

 crontab -e 

или

 sudo crontab -e 

Някои основни правила за cron

  • Полето може да е звездичка (*), която винаги означава "първа последна".
  • m-минута (0-59)
  • h-час (0-23)
  • Дом-ден на месеца (1-31)
  • месец-месец на годината (1-12)
  • Ден на седмицата (0-6 с 0 = неделя)
  • команда - приложение, скрипт и др

Разширени кратки кодове:

значението на низ
- ---
@reboot Изпълнете веднъж, при стартиране.
@ годишно Изпълнение веднъж годишно, "0 0 1 1 *".
@ годишно (същото като @ годишно)
@monthly Изпълнение веднъж месечно, "0 0 1 * *".
@weekly Бягайте веднъж седмично, "0 0 * * 0".
Веднъж на ден изпълнявайте "0 0 * * *".
@midnight (същото като @daily)
@hourly тичане веднъж на час, "0 * * * *"

Стойностите, разделени със запетая, могат да се използват за изпълнение на повече от един екземпляр от определена команда в рамките на определен период от време.

Отделните стойности могат да се използват за непрекъснато изпълнение на команда.

Нека да създадем нашия cronjob.

Ако първо влизате в crontab, вероятно ще ви бъде даден избор от редактор, който да използвате. Чувствайте се свободни да избирате, но обикновено се придържам към нано, тъй като е проста, чиста и свършва работата.

За да изпълним първоначалната си задача, просто въведете:

 * * * * * ехо "Текущата минута е: $ (дата)" >> /tmp/minute.log 

"Control-x" ще подкани да запазите, след което ще потвърдите. Трябва да видите, че cron е актуализиран успешно. Заданието ще отпечата текущата дата / час всяка минута в файл, наречен minute.log в директорията / tmp.

Ето автоматичния изход за 6 минути:

Нека да се похвалим, какво ще кажеш за отпечатването на датата на всеки 2 минути ...

 * / 2 * * * * echo "Текущата минута е: $ (date)" >> /tmp/minute.log 

Използвайки * / n, където n е положително число, ще кажем всяка n минута или на всеки n часа.

Какво ще кажете за отпечатването на датата в 5:30 сутринта всеки понеделник и петък:

 30 5 * * 1, 5 ехо "Текущата минута е: $ (дата)" >> /tmp/minute.log 

Чувствайте се свободни да играете навсякъде, като планирате прости "ехо" на лог файловете. След това преминете към скриптове и приложения.

Възпроизвеждане с Corntab

Сега нека изпробваме CornTab, уеб-базирания cron редактор, който ще се погрижи за синтаксиса, докато просто щракваме върху опциите.

Ето стъпка по стъпка за създаване на crontab, който ще отпечата текущата дата / час на всеки две минути, само през януари, февруари, март и април, в четвъртък и петък.

Първо кликнете върху "every n minutes" и преместете плъзгача на 2 минути.

След това кликнете, за да разширите месеца, кликнете, за да изберете "всеки избран месец" и изберете Ян, Февруари, Мар, Апр.

След това кликнете, за да разгънете Ден на седмицата, изберете "всеки избран ден от седмицата" и изберете "Thu и Fri".

Накрая кликнете, за да разгънете командата и въведете кода / скрипта. След това можете да копирате пълния cron код от Corntab и да го поставите във вашия crontab, като използвате стъпките в началото на тази статия.

Позовавания и повече информация за Cron:

http://www.pantz.org/software/cron/croninfo.html
http://www.computerhope.com/unix/ucrontab.htm
https://help.ubuntu.com/community/CronHowto