Как создать задание Cron в Linux: задание Cron в Ubuntu

Автоматизация задач в Linux теперь стала более управляемой. А именно, эта функция реализуется с помощью crontabs, что позволяет нам планировать несколько заданий, которые пользователи хотят выполнить в определенное время, каждое из которых называется cron job.

Cron jobs — это скрипты оболочки или команды Linux, указанные в файлах crontab, которые далее контролируются демоном cron и задачами, выполняемыми в определенное время.

В этой статье мы рассмотрим, как настроить cron-задачи в Ubuntu 22.04 и как они работают в операционной системе Linux.

Что такое cron-задача?

Cron — это планировщик задач на основе времени для дистрибутивов Linux/Unix. Он позволяет планировать задачи для выполнения через определенный промежуток времени. С помощью cron-задач можно автоматизировать задачи по администрированию и обслуживанию системы в операционной системе Linux. Вы также можете использовать задания cron в Linux для различных целей, таких как:

  • Автоматизация процесса резервного копирования баз данных, файлов и системных каталогов через определенные промежутки времени. Это не только обеспечивает доступность данных в случае сбоя системы или потери данных, но и способствует обеспечению целостности данных.
  • Администраторы Linux могут использовать задания cron Ubuntu для создания и отправки автоматических отчетов в запланированное время. Эти отчеты предоставляют информацию о событиях безопасности, производительности системы или других важных действиях. Таким образом, задания cron помогают улучшить процессы мониторинга и принятия решений.
  • С помощью crontab вы можете периодически проверять доступность служб. Такой подход к мониторингу помогает обнаруживать и устранять перебои в работе служб.

Ниже мы рассмотрим, как установить и использовать утилиту cron в Ubuntu.

Необходимые условия

Для установки и использования cron в Ubuntu необходимо выполнить следующие условия:

  • В вашей системе или в VirtualBox должна быть установлена Ubuntu 22.04 или стабильная версия.
  • Для установки и запуска необходимых утилит у вас должны быть права sudo или root.

Пошаговое руководство: как создать cron-задание в Linux?

Утилита cron предустановлена в большинстве дистрибутивов Linux. Тем не менее, вы можете проверить установку с помощью команды «systemctl status cron». Откройте терминал с помощью «Ctrl + Alt + t» и введите приведенную ниже команду, чтобы проверить состояние работы:

$ sudo systemctl status cron

Установка утилиты Cron в Ubuntu 22.04

Если вы получили тот же результат в терминале, значит, демон cron запущен и работает в вашей системе Ubuntu. Однако, если служба не найдена или утилита cron по какой-либо причине не установлена в вашей системе, вы можете установить утилиту cron в системе Ubuntu 22.04, выполнив следующие действия:

Шаг 1. Обновите системные пакеты

В первую очередь рекомендуется обновить локальные репозитории вашей системы, включая все пакеты, с помощью команды «apt update»:

$ sudo apt update

Шаг 2: Установите Cron в Ubuntu

Чтобы использовать задания cron, необходимо установить утилиту cron в вашей системе Linux. В Ubuntu 22.04 утилиту cron можно установить из стандартных репозиториев Ubuntu apt с помощью следующей команды:

$ sudo apt install cron

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

Шаг 3: Включение и запуск службы Cron

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

$ sudo systemctl enable cron

После включения этой службы в вашей системе будет создана символьная ссылка. Запустите службу cron с помощью этой команды:

$ sudo systemctl start cron

Теперь снова проверьте статус работы cron. На экране должен отобразиться следующий вывод:

Создание заданий cron в Linux

Все задания cron указываются в конфигурационном файле cron Table, известном как «crontab». Таким образом, чтобы создать новое задание cron, необходимо создать или запустить crontab с помощью следующей команды:

$ crontab -e

Если вы запускаете crontab в системе впервые, вам необходимо будет выбрать редактор файлов, который вы будете использовать для запуска заданий cron. В данном случае мы выберем редактор /bin/nano и нажмем Enter.

Файл crontab отобразится в терминале. Этот файл заполнит терминал базовым синтаксисом выражений cron.

Основной синтаксис задания cron

Задание cron записывается в виде специального выражения cron. Это выражение состоит из двух частей: запланированного времени и команды, которую вы хотите выполнить в терминале.

Обычно синтаксис задания cron имеет шесть параметров или аргументов, разделенных пробелами. Первые пять — это звездочки, обозначающие запланированное время выполнения, а другой аргумент — это команда или скрипт оболочки с полным путем к файлу.

Когда вы планируете задание cron в своей системе, оно использует шаблон из пяти звездочек (*). Каждая звездочка представляет время в соответствии с приведенным ниже порядком:

[минута] [час] [день месяца] [месяц] [день недели] [команда]
 

Рассмотрим синтаксис времени выполнения cron на примере.

Пример

Предположим, вы хотите запускать cron-задание в 14:00 каждую среду. В этом случае синтаксис cron-задания будет следующим:

0 12 * * 3 <команда>

В приведенном выше выражении cron «0» означает, что задание cron будет выполняться один раз, «12» означает, что задание cron будет выполняться в 12:0024-часовом формате), «* *» означает, что задание будет выполняться каждый день в течение каждого месяца, а «3» означает, что оно будет выполняться по средам.

Рассмотрим другой пример: вы хотите отображать «строку сообщения» с датой каждую минуту с помощью команды echo. Эта строка будет добавляться в файл «testfile.text».

* * * * * echo «Добро пожаловать, $date» >> $HOME/Documents/testfile.txt

Вышеуказанная команда создаст файл в каталоге home/Documents вашей системы с именем «testfile.txt».

Управление заданиями cron в Linux

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

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

$ crontab -l

Список заданий cron, принадлежащих пользователям в Linux

Аналогичным образом можно управлять заданиями cron, принадлежащими пользователям. Файлы crontab для каждого пользователя хранятся в области spool. Если отобразить все файлы каталога spool, можно легко отслеживать файлы crontab, принадлежащие пользователям, с помощью следующей команды:

$ ls /var/spool/cron/crontabs

Вы также можете отобразить файлы crontab, принадлежащие пользователям, с помощью следующей команды с правами «root»:

$ crontab -u <имя пользователя> -l

Замените «имя пользователя» на свое имя пользователя.

Удаление задания cron в Ubuntu

Если вы хотите удалить задание cron в Linux, используйте следующую команду:

$ crontab -r

Чтобы удалить задание cron для определенного пользователя, используйте следующую команду:

$ crontab -r -u <имя пользователя>

Редактирование задания Cron

Если вы хотите отредактировать файл для определенного пользователя, вы можете отредактировать задание cron с помощью следующей команды:

$ crontab -u <имя пользователя> -e

Список заданий Cron

По умолчанию действия и журналы, связанные со службой cron, хранятся в глобальном файле журнала, расположенном в «/var/log/syslog». Чтобы просмотреть действия и сообщения службы cron, вы можете использовать команду «grep» для фильтрации и извлечения соответствующей информации из файла syslog.

$ grep CRON /var/log/syslog

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

Вы также можете управлять системными файлами crontab. Эти системные crontabs, которые содержат запланированные задачи для всей системы, доступны только пользователю root. Они не могут быть изменены другими пользователями.

В отличие от crontabs, специфичных для пользователя, для непосредственного редактирования этих системных файлов crontab не существует специальной команды «crontab». Вместо этого системные администраторы должны получить доступ к этим файлам и редактировать их напрямую, чтобы внести какие-либо изменения или дополнения в запланированные задачи для всей системы. Для доступа к содержимому этих системных файлов используйте приведенную ниже команду:

$ nano /etc/crontab

Если вы используете VPS-хостинг для вашей системы Linux, выполните вышеуказанные шаги, чтобы добавить новые задания cron с помощью crontabs. Аналогичным образом, используя различные инструменты, вы можете легко управлять заданиями cron на своем компьютере.

Заключение

В этом руководстве мы узнали, как использовать утилиту cron в Ubuntu 22.04 для автоматизации задач в Linux. Cron — это утилита, которая помогает планировать и настраивать задачи для выполнения в определенное время, в определенные дни или через регулярные промежутки времени.

Cron — это удобный инструмент, который часто используется системными администраторами для облегчения своей работы. После прохождения этого руководства вы должны хорошо понимать, как использовать cron для планирования задач в ваших системах Linux.

Если вам нужна дополнительная информация, вы всегда можете ознакомиться с официальной страницей документации Cron или посетить страницу руководства crontab. Для получения справки по crontab используйте команду «man cron» через терминал.

Blog