Как создать задачи 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
Если вы запускаете crontab впервые в своей системе, вам нужно будет выбрать опцию для выбора файлового редактора, который вы можете использовать для запуска ваших задач cron. Здесь мы выберем редактор /bin/nano и нажмем Enter.
На экране появится файл crontabfile. Этот файл заполнит терминал базовым синтаксисом выражений cron.
Здесь вы заметите символ «#» в начале каждой строки. Этот символ указывает на наличие комментария к строке.
Базовый синтаксис задания 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».
Откройте этот файл, и вы увидите следующее содержимое:
Управление заданиями cron в Linux
После создания задачи cron вы можете легко управлять этими задачами. При работе с crontab важно соблюдать осторожность, поскольку неправильные настройки или конфигурации могут привести к неожиданным результатам. Также важно регулярно контролировать и тестировать запланированные задачи, чтобы гарантировать, что ваши автоматизированные процессы работают правильно.
Чтобы просмотреть все задачи cron, вы можете воспользоваться следующей командой:
$ crontab -l
Как вы можете видеть на скриншоте, выполняется только одна задача 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.
Вы также можете управлять общесистемными файлами crontab. Эти системные crontab, которые содержат запланированные задачи для всей системы, доступны только пользователю root. Другие пользователи не могут их изменять.
В отличие от пользовательских crontab, не существует специальной команды «crontab» для непосредственного редактирования этих системных crontab. Вместо этого системные администраторы должны иметь доступ к этим файлам и редактировать их напрямую, чтобы вносить любые изменения или дополнения в общесистемные запланированные задачи. Чтобы получить доступ к содержимому этих общесистемных файлов, используйте приведенную ниже команду:
$ nano /etc/crontab
Если вы используете VPS-хостинг для своей системы Linux, используйте приведенные выше шаги для добавления новых задач cron с помощью crontab. Аналогичным образом, используя различные инструменты, вы можете легко управлять задачами cron на вашем компьютере.
Заключение
В этом руководстве мы узнали, как использовать утилиту cron в Ubuntu 22.04 для автоматизации задач в Linux. Cron - это утилита, которая помогает планировать и настраивать выполнение задач в определенное время, в определенные дни или через определенные промежутки времени.
Cron - удобный инструмент, который часто используется системными администраторами для облегчения своей работы. После прочтения этого руководства вы должны хорошо понимать, как использовать cron для планирования задач в ваших системах Linux.
Если вам нужна дополнительная информация, вы всегда можете обратиться к официальной странице документации Cron или посетить страницу руководства по crontab. Для получения справки по crontab используйте команду «man cron» в терминале.
Blog