Crontab: Как да автоматизирате своите задачи в UNIX

Crontab

Crontab е мощен инструмент в UNIX и UNIX-подобни операционни системи, който позволява на потребителите да планират и автоматизират изпълнението на команди или скриптове в определени интервали от време. Тази статия ще предостави подробна информация за crontab и ще ви научи как да го използвате за улеснение на вашите рутинни задачи.

Какво е crontab?

Crontab е съкращение от „cron table„, където „cron“ е програма в UNIX-базирани системи, която работи като планиращ демон. Той изпълнява команди или скриптове периодично на зададени времеви интервали. Той съхранява списък със задачи и техните изпълними команди, които трябва да се стартират в определено време.

Как да използваме crontab?

Отворете терминал

За да използвате crontab, отворете терминал или команден ред на вашия UNIX-базиран компютър. Това може да бъде Terminal на macOS или команден ред на Linux.

Въведете командата crontab -e

С командата „crontab -e“ ще отворите текущия си cron файл в текстов редактор. Ако все още не сте задавали задачи чрез crontab, новият файл ще бъде създаден и ще бъдете насочени към избор на редактор.

Добавете задачи в crontab

Вече сте в редактора на crontab. За да добавите задача, напишете нов ред и използвайте следния формат:

минута час ден от месеца месец ден от седмицата команда

┌──────────── [по избор] секунди (0 - 59)
| ┌─────────── минута (0 - 59)
| | ┌──────── час (0 - 23)
| | | ┌────── ден от месеца (1 - 31)
| | | | ┌──── месец (1 - 12) ИЛИ януари, фев, март, април ...
| | | | | ┌── ден от седмицата (0 - 6, неделя=0) ИЛИ слънце, пн ...
| | | | | |
* * * * * * команда
СимволЗначениеПримерЕквивалентен
*Всяка стойност* * * *Всяка минута
Диапазон от стойности1-10 * * *Минути от 1 до 10
,Списък със стойности1,10 * * *На 1 и 10 минути
/Стойности на стъпките*/10 * * *На всеки 10 минути
@годишноВеднъж всяка година в полунощ на 1 януари@yearly0 0 1 1 *
@годишноСъщото като @годишно@annually0 0 1 1 *
@месечноВеднъж месечно в полунощ на първия ден@monthly0 0 1 * *
@седмичноВеднъж седмично в полунощ в неделя сутрин@weekly0 0 * * 0
@ежедневноВеднъж на ден в полунощ@daily0 0 * * *
@полунощСъщото като @daily@midnight0 0 * * *
@почасовоВеднъж на час в началото на часа@hourly0 * * * *
@рестартиранеИзпълнение при стартиране

Пример:

30 8 * * * /път/до/вашия/скрипт.sh

Този примерен ред ще стартира вашия скрипт.sh всеки ден в 8:30 часа.

Полезни команди

crontab -l : Показва текущото съдържание на crontab файла за текущия потребител.

crontab -e : Отваря редактор за редактиране на текущия crontab файла на потребителя. Ако такъв не съществува, се създава нов.

crontab -r : Премахва текущия crontab файл на потребителя, изтривайки всички настройки на задачите.

service cron start : Стартира Cron демона на Linux системи. Важно е да имате администраторски права за да изпълните тази команда.

service cron stop : Спира Cron демона на Linux системи. Изискват се администраторски права.

service cron restart : Рестартира Cron демона на Linux системи. Изискват се администраторски права.

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

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: