Другое

Crontab: определение, виды, настройки, инструкция и примеры

Lorem ipsum dolor

Cron — это утилита-планировщик задач в UNIX-системах. Crontab — это файл, в котором записаны задания для Cron. Для того чтобы запустить работу планировщика, нужно редактировать файл Crontab. Редактирование файлов происходит по собственному алгоритму, поэтому хорошо, когда рядом есть примеры редактирования Crontab. Сегодня мы разберем программу Cron и покажем примеры редактирования файлов при помощи команды «crontab -e».

Чаще всего планировщик Cron нужен для системных администраторов, чтобы автоматизировать различные системные задачи при работе с Linux-системами. Это довольно удобная штука, потому что от пользователя нужно только настроить и запустить скрипт, определив время его исполнения. А сам скрипт со всеми записанными в нем задачами выполняется без участия пользователя.

Настройка Cron: примеры с командой «crontab -e»

Настройка планировщика Cron заключается в редактировании файла «сrontab». Редактирование можно выполнить тремя способами:

  1. Отредактировать файл «crontab» по адресу его расположения, обычно это «/etc/crontab». Этот способ использовать не рекомендуется, так как велика вероятность выполнить редактирование с ошибками.

  2. Отредактировать файл «сrontab» при помощи команды «$ crontab -е». Это рекомендованный способ, поэтому на нем мы остановимся подробнее.

  3. В некоторых Linux-дистрибутивах есть визуальный редактор файлов «crontab».

Примеры настройки командой «$ crontab -e»

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

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

«минуты» «часы» «дни» «месяцы» «дни недели» <путь к исполняемому файлу>

  • минуты обозначаются цифрами в диапазоне «0-59»;

  • часы — в диапазоне «0-23»;

  • дни — в диапазоне «1-31»;

  • месяцы — в диапазоне «1-12» или сокращенными названиями: jan, feb, mar, apr и др.;

  • дни недели — в диапазоне «0-6» или «1-7», где 0 или 7 — это воскресенье, в зависимости от системной структуры недели.

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

Примеры того, как могут выглядеть команды в файле «crontab»:

  1. «05 07 * * * /sbin /hwclock -systohc» изменяет время аппаратного обеспечения в системе и делает это еженедельно и ежемесячно в 7 часов и 5 минут.

  2. «11 06 6 * *» /usr /bin / apt-get update» обновляет системные пакеты ежемесячно 6 числа в 6 часов и 11 минут.

  3. «06 * * * * rm /home /adminname /tmp /*» очищает папку «home» пользователя «adminname» от временных файлов каждый час в 6 минут. Выполняться будет ежемесячно, еженедельно, ежечасно.

  4. «00 17 * * Sat rm /home /adminname /tmp /*» очищает папку «home» пользователя «adminname» каждую субботу в 5 часов вечера. Этот пример показывает, что может использоваться не числовой синтаксис обозначения дней. В нашем случае «sat» это суббота.

  5. «00 00 2 3,6,10 * * rm /home /adminname /tmp /*» также очищает временные файлы, но делает это в 12 ночи 2 марта, 2 мая и 2 октября.

Заключение

Настройка Cron — довольно простое дело. Чуть выше мы показали, как могут выглядеть примеры команд в файле crontab. Вся сложность заключается в понимании, каким образом выставляется время выполнения правила и какие команды нужно выполнять. То есть, чтобы воспользоваться Cron, нужно знать системные команды, которые используются в Linux. Или же написать свой собственный исполняемый скрипт, чтобы Cron его выполнил в нужное время.

Схожие статьи

Вопросы на собеседовании в Гугл. Как стать работником компании Google?
Другое

Вопросы на собеседовании в Гугл. Как стать работником компании Google?

Что лучше: Андроид или iOS? Обзор и сравнение двух платформ
Другое

Что лучше: Андроид или iOS? Обзор и сравнение двух платформ

Что такое WhiteList, какие у него функции и цели в программировании?
Другое

Что такое WhiteList, какие у него функции и цели в программировании?

Самый популярный язык программирования в 2021 году: топ-3 языков
Другое

Самый популярный язык программирования в 2021 году: топ-3 языков