Научете Linux

Как да създам Cron Jobs на Linux

Как да създам Cron Jobs на Linux

Задачата Cron или Cron е график, базиран на времето, често срещан в Linux / Unix системи. Той планира определени задания на потребителя да се изпълняват периодично на фиксирана дата, час или интервали. Повечето от тези задачи са скриптове за изпълнение на функции като архивиране и други. За да създадем тези cron задачи, използваме командите crontab. Crontab е UNIX команда / помощна програма, използвана за създаване и управление на cron задачи.

Както ще видите по-долу, създаването и редактирането на cron задача е съвсем просто. Най-невероятната част е, че не е необходимо да рестартирате cron или дори компютъра си след създаване или редактиране на cron работа. Просто запазете файла и сте готови.

Често използвани Cron Jobs

Основни части на команда cron

Стандартният синтаксис на crontab е както по-долу:

a b c d e ИМЕ НА ПОТРЕБИТЕЛЯ / път / към / изход на скрипт

1.Часът и датата заедно с това колко повтаряща се работа ще бъдат посочени от петте полета:

Забележка: Дните започват с понеделник. 0 и 7 представляват неделя

2. ПОТРЕБИТЕЛ: Не забравяйте да замените това с вашето потребителско име

3. Конкретното местоположение и скриптът, които трябва да бъдат изпълнени от cron, са определени от третия сегмент:

/ път / към / скрипт

4. Последният раздел определя известието до потребителя след приключване на работата като начин за проследяване на задачите:

изход

Входящата ви поща обаче може да е пълна с незначителни задачи, които често се канализират. За да избегнете това, можете да деактивирате автоматичното извеждане на имейл, като добавите низа по-долу към вашата команда cron:

> / dev / null 2> & 1 д.g a b c d e ПОТРЕБИТЕЛСКО ИМЕ / път / към / скрипт> / dev / null 2> & 1

Освен това cron използва още четири стойности, използвани при задаване на множество стойности в поле. Те са:

Настройване на задачите cron

Командите crontab са отговорни за създаването и редактирането на cron задачи, тъй като cron файловете не трябва да се редактират директно. Crontab определя как можете да създавате, редактирате, изброявате, отстранявате грешки, инсталирате и деинсталирате cron задачите.

Преди да започнете с cron задания, от съществено значение е да се уверите, че вашият Linux Desktop или сървър е актуален, като изпълните командите по-долу:

актуализация на sudo apt

Ако нямате инсталиран пакет cron на вашата система, инсталирайте го с командата по-долу:

sudo apt-get install cron

Инсталирайте cron

Как да редактирате файла crontab?

За да завършите процеса, ще трябва да конфигурирате заданието cron. Потребителят, влязъл в системата при създаване на задание cron, автоматично става собственик. Това може да бъде променено чрез създаване на собственик на работа, който ще отговаря за управлението на заданието cron, както ще видим в тази публикация.

За да отворите конфигурационния файл на crontab за потребителя, който влезе в момента, изпълнете командата по-долу:

crontab -e

Системата ще ви подкани да изберете подходящ редактор. В нашия случай ще изберем първата опция (нано редактор).

crontab -e

Можете да добавите по една планирана задача на ред според вашите предпочитания.

crontab файл

След добавяне на задачите завършете, като запазите файла и излезте. Всички предоставени инструкции ще бъдат прочетени и изпълнени от демона cron. Промените ще бъдат приложени дори без рестартиране на вашата система, тъй като хранилището се актуализира автоматично.

Редактирайте crontab за различен потребител

Crontab може да се редактира за различни потребители с помощта на команда в синтаксиса по-долу:

crontab -u друго_потребителско име -e

Как да използвам специални символи в командите на crontab

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

0 6 * * 1-5 / корен / архивиране.ш

Тук 06 означава 6 сутринта, 1-5 означава броя на дните (от понеделник до петък).

35 1-23 / 2 * * * / път / към / скрипт / скрипт.ш

1-23 определя диапазона от часове, / 2 задава интервала на всеки друг час.

Cron Options

Може да искате да изброите cron заданията във вашата система, без да отключвате crontab конфигурационния файл. Това може да стане чрез стартиране на терминала и въвеждане на командата по-долу:

crontab -l

списък cron работни места

Тази команда изброява всички cron задачи, налични във вашата система.

За да изтриете всички команди crontab, можете да използвате командата по-долу:

crontab -r
crontab -r -u друго-потребителско име

Използвайте низове в Crontab

Низовете са изключително полезни инструменти за разработчиците, тъй като избягват повтарящото се писане на кодови сегменти. За щастие crontabs поддържат различни стойности на низове. Те включват:

@hourly: -същото като - „0 * * * *“ (Изпълнява се веднъж на всеки час)
@ полунощ:  -същото като - „0 0 * * *“ (Изпълнява се веднъж на всеки ден)
@daily: същото като полунощ
@ седмично:  -същото като - „0 0 * * 0“ (Изпълнява се веднъж на всеки седмица)
@месечно: -същото като - „0 0 1 * *“ (Изпълнява се веднъж на всеки месец)
@ ежегодно: -същото като - „0 0 1 1 *“ (Изпълнява се веднъж на всеки година)
@ година: подобно на @ ежегодно
@ рестартиране: Изпълнява се веднъж след всяко рестартиране / рестартиране / стартиране.

Добър пример; ако имате резервен скрипт, който искате да стартирате всеки ден, използвайте командата по-долу:

@daily / path / to / backup_script.ш

Примери за cron работни места

Ето списък на основните cron задачи, които могат да се използват при започване:

    1. За да стартирате скрипт всяка минута:
      * * * * * / вашия / скрипт / път.ш
    2. За да стартирате скрипт на всеки 40 минути:
      40 * * * * / your / script / path.ш
    3. За да стартирате скрипт на всеки час:
      0 * * * * / your / script / path.ш
    4. За да стартирате скрипт всяка полунощ:
      0 0 * * * / your / script / path.ш
    5. За да стартирате скрипт на всеки 23 минути след полунощ, 2 ч. И 4 ч. Сутринта всеки ден:
      23 0-23 / 2 * * * / your / script / path.ш
    6. За да стартирате скрипт в 4.05 всяка неделя.
      5 4 * * sun / your / script / path.ш
    7. За да стартирате скрипт в 22:00 през седмицата.
      0 22 * ​​* 1-5 / вашия / скрипт / път.ш
    8. За да стартирате скрипт на 1 декември - полунощ.
      0 0 0 12 * / your / script / path.ш
    9. За да стартирате сценарий в събота в полунощ.
      0 0 * * 6 / your / script / path.ш
    10. За да стартирате скрипт на всеки час.
      0 * * * * / your / script / path.ш

С тези основни примери ще получите по-задълбочено разбиране на последователността и как тя може да бъде модифицирана.

Ограничаване на достъпа до Cron

Виждаме, че cron заданията могат да ви бъдат много полезни, особено когато искате да автоматизирате задачите си. Въпреки това може да бъде рисковано, ако системата позволява на всеки потребител да създаде cron работа. Дори ако това не се отразява на личните данни, някои cron задачи могат да отнемат доста голямо количество системни ресурси, като по този начин изостават компютъра. За да избегне подобни сценарии, системният администратор (root потребител) може да създаде / etc / cron.позволява  или / etc / cron.отричам файлът, който съдържа само потребители, които могат „създаване / не-създаване“ cron работа.

The / etc / cron.позволява файлът съдържа потребители, които могат да създават, редактират, показват или премахват crontab файлове. Ако този файл не съществува, всички потребители могат да създават и управляват cron задачи, различни от тези в / etc / cron.отричам файл. Ако няма нито един от тези файлове, за изпълнение на командата crontab се изискват права на суперпотребител.

cron позволи файл

Сега, след като сте попречили на некоренните потребители да създават cron задания, ако те вече са имали такива, може да помислите за добавяне на техните cron задания в root crontab файла. Но тук има пъзел - добавяйки техните cron задания към root crontab, това не изпълнява техните cron задачи като root? Е, тук идва значението на полето USERNAME, което обсъдихме по-горе в синтаксиса на командата cron. Например командата по-долу:

0 * * * * fosslinux / path / to / script.ш

Ще се изпълнява като потребителска задача „fosslinux“ cron, а не като главен потребител.

Заключение

Вече имате ясно ръководство за използване на задания Cron за автоматизиране на различни задачи във вашата система. Това не трябва да ви обърква със стартиращи приложения. Използвайте примерите по-горе, за да опитате и автоматизирате прости скриптове. С течение на времето можете да комбинирате специални знаци и заместващи карти, за да изпълнявате много по-светски задачи. Ако тепърва започвате, би било чудесно да прочетете публикацията ни в урок за скриптове на bash с примери, които ще ви помогнат да създадете първия си скрипт.

Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...
Vulkan за потребители на Linux
С всяко ново поколение графични карти виждаме, че разработчиците на игри преместват границите на графичната вярност и се приближават една крачка до фо...