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

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

Задачи cron - это сценарии командного интерпретатора или команды Linux, указанные в файлах crontab, которые в дальнейшем контролируются демоном cron и выполняются в определенное время.

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

Что такое задача Cron?

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

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

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

Предпосылки

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

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

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

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

$ sudo systemctl status cron

Установка утилиты Cron в Ubuntu 22.04 в 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, известной как «crontab». Итак, чтобы создать новую задачу cron, вам нужно создать или запустить crontab с помощью приведенной ниже команды:

$ crontab -e

how to create a cron job in linux: ubuntu cron job

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

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

how to create a cron job in linux: ubuntu cron job

Здесь вы заметите символ «#» в начале каждой строки. Этот символ указывает на наличие комментария к строке.

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

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

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

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

[minute] [hour] [day of month] [month] [day of week] [command].

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

Поле Допустимые значения Допустимые значения

Минута В диапазоне от 0 до 59

час 24-часовой формат от 0 до 23.

день месяца Принимает значение от 1 до 31.

месяц Принимает значение от 1 до 12 месяцев или названия типа СЕЧЬ - ГРУД.

день недели Отображает 7 дней недели от 0 до 6 или дни с названиями SUN - SAT.

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

Пример

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

0 12 * * * 3 <command>

В приведенном выше выражении cron «0 „ означает, что задача будет запущена один раз, “12 „ означает, что задача будет запущена в 12 часов дня (с использованием 24-часового формата), “* * *» означает, что задача будет запущена ежедневно в течение месяца, а "3 » означает, что она будет запущена в среду.

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

* * * * * * * echo «Welcome, $date» >> $HOME/Documents/testfile.txt

Приведенная выше команда создаст файл в домашнем каталоге вашей системы с названием «testfile.txt».

Откройте этот файл, и вы увидите следующее содержимое:

how to create a cron job in linux: ubuntu cron job

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

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

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

$ crontab -l

how to create a cron job in linux: ubuntu cron job

Как вы можете видеть на скриншоте, выполняется только одна задача cron, и это та, которая была создана выше.

Просмотр пользовательских задач cron в Linux

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

$ ls /var/spool/cron/crontabs

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

$ crontab -u <username> -l

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

Удаление задачи системного cron Ubuntu системного cron

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

$ crontab -r

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

$ crontab -r -u <username>

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

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

$ crontab -u <username> -e

Просмотр журнала заданий cron

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

$ grep CRON /var/log/syslog

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

how to create a cron job in linux: ubuntu cron job

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

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

$ nano /etc/crontab

how to create a cron job in linux: ubuntu cron job

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

Заключение

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

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

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

Blog