crontab

Crontab в Linux

Crontab в Linux
С появлением новых технологий мы хотим, чтобы все было автоматизировано, включая наши компьютерные системы. Например, как системный администратор, мы можем захотеть, чтобы наша резервная копия запускалась каждую ночь в 2 часа ночи. Тогда для чего компьютеры, если мы должны ежедневно просыпаться в 2 часа ночи и запускать команды вручную, чтобы запустить резервное копирование. Должен быть способ, который сообщает системе автоматически запускать резервное копирование в определенное время. К счастью, ОС Linux предлагает утилиту 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 часа ночи. Для этого вам нужно будет добавить следующую строку в ваш файл 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 следующим образом:

* * * ян, май, авг * / путь / к / скрипту.ш

4. Запустить задание cron в выбранные дни

Если вы хотите, чтобы ваше задание cron выполнялось в определенные дни, предположим, что в воскресенье и пятницу в 17:00, оно должно выглядеть следующим образом:.

0 17 * * вс, пт / путь / к / скрипту.ш

5. Ежедневно запускать задание cron в определенное время

Чтобы запланировать выполнение задания cron ежедневно в определенное время, скажем, в 3 часа ночи, добавьте эту строку в свой файл crontab.

0 3 * * * / путь / к / скрипту.ш

6. Запустить задание cron в определенный день

Чтобы запланировать выполнение задания cron в определенный день, скажем, каждое воскресенье, добавьте эту строку в свой файл crontab.

0 0 * * SUN / путь / к / скрипту.ш

Задание будет выполняться в 00:00 каждое воскресенье.

7. Выполнение нескольких задач в одном задании cron

Чтобы запланировать несколько задач в одном задании cron, добавьте все сценарии в файл crontab, разделив их точкой с запятой.

* * * * * / путь / к / скрипту1.ш; / путь / к / скрипту2.ш

8. Запустить задание cron на каждый будний день

Чтобы запланировать выполнение задания cron на каждый день недели с понедельника по пятницу, вам нужно будет добавить эту строку в свой файл crontab.

0 0 * * 1-5 / путь / к / скрипту.ш

Работа будет выполняться в 00:00 каждый будний день.

9. Запускать cron дважды в день

Чтобы запланировать выполнение задания два раза в день e.грамм. в 6:00 и 15:00 вам нужно будет добавить эту строку в свой файл 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-задание в 16:00 первого числа каждого месяца

Чтобы запланировать запуск задания на первый день каждого месяца в 16:00, вам нужно добавить эту строку в свой файл crontab:

0 16 1 * * / путь / к / скрипту.ш

Строки в Crontab

Вы также можете использовать следующие строки вместо длинных повторяющихся команд.

@ почасово - запускать cron каждый час i.е. «0 * * * *»
@ midnight - Запускать cron каждый день i.е. «0 0 * * *»
@ daily - как в полночь
@ weekly - запускать задание cron каждую неделю, я.е. «0 0 * * 0»
@ ежемесячно - запускать задание cron каждый месяц i.е. «0 0 1 * *»
@ ежегодно - Запускать cron каждый год i.е. «0 0 1 1 *»
@ ежегодно - то же, что и @annually
@ reboot - запускать задание cron при каждой загрузке

Например, чтобы запускать задание cron каждый день в первую минуту и ​​первый час, добавьте следующую строку:

@daily / путь / к / скрипту.ш

Например, чтобы запускать задание cron при каждой перезагрузке сервера:

@reboot / путь / к / скрипту.ш

Это все, что нужно для этого! В этой статье мы узнали, как автоматизировать различные задачи с помощью crontab в системе Debian. Используя приведенные выше примеры, вы можете запланировать запуск любого задания без какого-либо взаимодействия с пользователем.

Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...
Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...
Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...