Как планировать рабочие места в Linux | Команды Cron и Crontab

Короткие байты: При использовании компьютерной системы часто возникает необходимость выполнять определенные повторяющиеся задания по расписанию. Вместо того, чтобы вручную выполнять необходимые команды каждый раз, вы можете упростить для себя задачу, используя утилиту Linux Cron и команду Crontab. Хотите знать, как планировать работу в Linux с помощью этих команд? Давайте разберемся.

Как и в случае с утилитой TaskScheduler в Windows, можно использовать утилиту Cron для планирования заданий в Linux для периодического запуска с фиксированными интервалами времени. Обычно используемый системный администратор Linux ручается за его важность для автоматизации обслуживания и административных задач, таких как резервное копирование данных, обновление пакетов и многое другое.

Планирование работы в Linux: Основное руководство

Что такое Крон?

Служба Cron — это служба планирования заданий, основанная на времени, которая обычно запускается при загрузке системы. Он проверяет каждую минуту для любых запланированных заданий и запускает их, если они существуют.

Что такое Crontab?

Чтобы манипулировать расписаниями работ, мы используем программу Crontab в Linux. Crontab, сокращение от table cron table, ‘- это файл конфигурации. Каждая строка Crontab представляет задание и содержит информацию о том, что запускать и когда запускать. Ниже приведен формат для Linux Crontab:

M H DOM MON DOW Команда

Расписание заданий в формате Linux Crontab

Команда выполняется, когда все поля спецификации времени соответствуют текущей дате и времени. Чаще всего мы используем звездочку (*) в поле указания времени, чтобы соответствовать любому значению в этом поле.

Открытие и редактирование Crontab

Теперь давайте узнаем, как открывать и редактировать файл Crontab, что является важным шагом в планировании заданий Linux. Для этого мы используем следующую команду:

crontab -e

После выполнения этой команды вам может быть предложено выбрать редактор. Если вы новичок, я бы посоветовал вам выбрать Nano, иначе вы можете выбрать любой редактор, который вам удобен.

Расписание заданий в редакторе Linux

Рекомендуется: 9 лучших текстовых редакторов для Linux и программирования | 2017

После того, как вы закончили выбор редактора, откроется файл, похожий на тот, что показан на скриншоте ниже:

Расписание заданий в редакторе Linux Crontab File

Примечание: Хеш (#) Символ используется для обозначения комментариев. Эти комментарии будут игнорироваться Cron.

Планирование работы

Теперь, чтобы запланировать работу в Linux, все, что вам нужно сделать, это ввести все необходимые данные, следуя указанному выше формату. Вот пример: Предположим, я хочу запустить команду usr / bin / backup в 2:30 в первый день каждого месяца, а затем добавлю следующую строку в Crontab:

30 02 1 * * / usr / bin / backup

30 : 30 минута
02 : 2 ЧАСА НОЧИ
1   : 1-й день
*   : Каждый месяц
*   : Каждый день недели

Читайте также: 20 странных вещей, которые вы не знали, что терминал Linux может сделать

Указание нескольких значений и диапазонов

Также возможно запланировать выполнение заданий в Linux несколько раз. Просто используйте запятую (,) для разделения необходимых значений. В качестве примера, давайте снова рассмотрим предыдущий пример. Теперь, если я хочу выполнить команду также в 14:30, все, что мне нужно сделать, это:

30 02,14 1 * * / usr / bin / backup

30      : 30 минута
02,14 : 2 часа ночи и 2 часа дня
1        : 1-й день
*        : Каждый месяц
*        : Каждый день недели

Примечание: Мы определили 14:00 на 14:00, поскольку Crontab использует 24-часовой формат времени.

Более того, даже возможно указать диапазон времени в Crontab при планировании заданий Linux. Просто вставьте значения, разделенные тире (). Здесь мы снова рассмотрим наш первоначальный пример для демонстрации того, как это делается. На этот раз предположим, что мы хотим выполнять команду каждый час между 2 и 2 часами дня в первый день каждого месяца. Мы сделаем это следующим образом:

00 02-14 1 * * / usr / bin / backup

00       : 0 минута
02-14 : 2:00, 3:00, 4:00, 5:00, 6:00, 7:00, 8:00, 9:00, 10:00, 11:00, 12:00, 1:00, 2:00
1        : 1-й день
*        : Каждый месяц
*        : Каждый день недели

Crontab ярлыки

В качестве бонуса в этой статье о том, как планировать задания в Linux, рассмотрите следующие ярлыки и ключевые слова формата Crontab, которые могут пригодиться для планирования заданий в Linux:

@yearly       : бегать раз в год в полночь утром 1 января
@annually   : так же, как @yearly
@monthly   : запускать раз в месяц в полночь утром первого дня месяца
@weekly     : бегать раз в неделю в полночь утром в воскресенье
@повседневная         : бегать каждый день в полночь
@midnight  : так же, как @daily
@hourly      : запускать раз в час в начале часа

Например: Учтите, что мне нужно запускать команду / usr / bin / backup каждый месяц. Формат Crontab для него будет:

@monthly / usr / bin / backup

После сохранения изменений в Crontab и выхода вы увидите следующее сообщение, указывающее, что вы успешно выполнили процесс.

Расписание заданий в редакторе Linux Ярлык Crontab

Вы также можете ознакомиться с полным справочником команд Linux. Счастливого обучения.

Прочитайте весь учебник по лексикону Linux здесь

У вас есть какие-либо сомнения, собственные вопросы или предложения по темам, которые вы хотели бы, чтобы мы затронули? Поделитесь с нами своим мнением.

Ссылка на основную публикацию