crontab

Crontab в Linux

Crontab в Linux
С появата на новите технологии искаме всичко да бъде автоматизирано, включително нашите компютърни системи. Например, като системен администратор, може да искаме архивирането ни да се изпълнява всяка вечер в 2:00 ч. Сутринта. Тогава каква е целта на компютрите, ако трябва да се събуждаме ежедневно в 2:00 ч. И да изпълняваме командите ръчно, за да инициираме архивирането. Трябва да има начин, който да казва на системата да стартира автоматично архивиране в точно определено време. За щастие, Linux OS предлага cron помощна програма, която позволява автоматизиране на задачите за определен период.

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

В тази статия ще ви обясним с различни примерни предавания, можете да редактирате и използвате crontab файл, за да планирате задачи в системата Debian 10.

Cron може да се използва за автоматизиране на задачи в следните сценарии:

Синтаксис

По-лесно е да работите с cron, след като разберете синтаксиса му. Общият синтаксис за използване на cron е:

* * * * / път / към / скрипт.ш

Всяко от полетата отговаря на следното:

Минута (0-59) Час (0-24) Ден_на_месеца (1-7) Месец_на_Года (1-12)
Команда Day_of_the_Week (0-6)

Инсталиране на Cron

Cron се предлага предварително инсталиран в Debian 10. Ако обаче липсва в системата ви, изпълнете следната команда, за да го инсталирате:

$ sudo apt install cron

Преглед на crontab

За да видите файла crontab, използвайте следната команда:

$ crontab -l

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

$ sudo crontab -u потребител -l

Редактиране на crontab

За да редактирате crontab файла на текущия потребител:

$ crontab -e

За да редактирате crontab файла на определен потребител:

$ sudo crontab -u потребител

Ако редактирате crontab файл за първи път, ще бъдете помолени да изберете редактор:

След като изберете редактора, ще се появи следният прозорец.

Например искате да стартирате резервен скрипт с име „backup.sh ”, намиращ се в директорията с документи всеки ден в 2:00 ч. сутринта. За да направите това, ще трябва да добавите следния ред във вашия crontab файл:

0 2 * * * / Документи / архивиране.ш

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

Премахнете crontab

За да премахнете файла crontab, въведете следната команда в терминала:

$ crontab -r

Сега нека разгледаме поредица от примери за cron задачи на linux машина.

1. Стартирайте cron задача всяка минута

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

* * * * * / път / към / скрипт.ш

2. Изпълнете cron задача след всеки 10 минути

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

* / 10 * * * * / път / към / скрипт.ш

3. Изпълнете cron работа в конкретни месеци

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

* * * jan, май, aug * / path / to / script.ш

4. Изпълнете задание cron в избрани дни

Ако искате вашата задача cron да бъде изпълнена в избрани дни, да предположим, че неделя и петък в 17:00, тя трябва да изглежда по следния начин.

0 17 * * слънце, пет / път / към / скрипт.ш

5. Изпълнявайте cron задача всеки ден в точно определено време

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

0 3 * * * / път / към / скрипт.ш

6. Изпълнете cron работа в определен ден

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

0 0 * * СЛЪНЦЕ / път / към / скрипт.ш

Работата ще се изпълнява в 00:00 всяка неделя.

7. Изпълнете множество задачи в една задача cron

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

* * * * * / път / към / script1.ш; / път / към / script2.ш

8. Изпълнете cron работа на всеки делничен ден

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

0 0 * * 1-5 / път / към / скрипт.ш

Работата ще работи в 00:00 всеки делничен ден.

9. Изпълнявайте cron работа два пъти на ден

Да планирате работа, която да се изпълнява два пъти на ден e.ж. в 6 ч. и 15 ч. ще трябва да добавите този ред във вашия файл crontab:

0 6,15 * * * / път / към / скрипт.ш

10. Изпълнявайте cron задача на всеки час

За да планирате изпълнение на задача cron на всеки час в минута 0, ще трябва да добавите този ред във вашия файл crontab:

0 * * * * / път / към / скрипт.ш

Например, ако текущото време е 14:00, работата ще се изпълнява в 15:00, 16:00 и т.н.

11. Изпълнете cron работа след всеки 3 часа

За да планирате да се изпълнява задача cron след всеки 3 часа в минута 0, ще трябва да добавите този ред във вашия файл crontab:

0 * / 3 * * * / път / към / скрипт.ш

Например, ако текущото време е 14:00, работата ще се изпълнява в 17:00, 20:00 и т.н.

12. Стартирайте cron job в 16:00 на първо число на всеки месец

За да планирате работа, която да се изпълнява на първия ден от всеки месец в 16:00, ще трябва да добавите този ред във вашия crontab файл:

0 16 1 * * / път / към / скрипт.ш

Струни в Crontab

Можете също да използвате следните низове, а не дългите повтарящи се команди.

@ почасово - Стартирайте cron задача на всеки час i.д. „0 * * * *“
@ полунощ - Изпълнявайте cron работа всеки ден i.д. „0 0 * * *“
@ всеки ден- същото като полунощ
@ седмично - Изпълнявайте cron работа всяка седмица, т.е.д. „0 0 * * 0“
@ месечно - Изпълнявайте cron работа всеки месец i.д. „0 0 1 * *“
@ ежегодно - Изпълнявайте cron работа всяка година i.д. „0 0 1 1 *“
@ годишно - същото като @ ежегодно
@ рестартиране - Стартирайте cron задача при всяко зареждане

Например, за да стартирате заданието cron всеки ден в първата минута и първия час, добавете следния ред:

@daily / път / към / скрипт.ш

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

@reboot / path / to / script.ш

Това е всичко! В тази статия научихме как да автоматизираме различни задачи, използвайки crontab в системата Debian. Използвайки горните примери, можете да планирате всякакъв вид работа, която да започне без никакво взаимодействие с потребителя.

Инсталирайте най-новия Dolphin Emulator за Gamecube & Wii на Linux
Dolphin Emulator ви позволява да играете избраните от вас игри Gamecube & Wii на Linux Personal Computers (PC). Като безплатно достъпен и емулатор на...
Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...
Най-добрите емулатори на игрови конзоли за Linux
Тази статия ще изброи популярния софтуер за емулация на игрова конзола, наличен за Linux. Емулацията е слой за софтуерна съвместимост, който емулира х...