uz
DF
Daniil Fedorov
июля 8, 2025
Обновлено июля 8, 2025

Cron

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

Основные аспекты и особенности Cron:

  1. Cron-таблицы (crontab): В системе cron существует специальный файл, называемый crontab (от cron table), в котором хранятся задания и их расписание. Каждая строка в crontab-файле представляет собой задание с заданным временем выполнения и командой.
  2. Синтаксис расписания: Crontab использует пять полей для определения времени выполнения задания:
    • Минута (0–59)
    • Час (0–23)
    • День месяца (1–31)
    • Месяц (1–12)
    • День недели (0–7), где 0 и 7 обозначают воскресенье.

    Например, 30 2 * * * указывает на выполнение задачи в 2:30 ночи каждый день.

  3. Специальные выражения: Помимо конкретных значений, crontab поддерживает специальные символы:
    • * — любое значение (например, любое время или любой день).
    • , — несколько значений (например, 1,15 означает 1-е и 15-е число месяца).
    • - — диапазон значений (например, 1-5 означает с понедельника по пятницу).
    • / — интервал (например, */5 для запуска каждые 5 минут).
  4. Редактирование Cron-заданий: Пользователь может управлять своими задачами через команду crontab -e, которая открывает файл crontab в редакторе. Системные задачи находятся в файле /etc/crontab.
  5. Запись вывода задач: По умолчанию cron отправляет вывод выполнения задач на почту пользователю. Также можно перенаправить вывод в файл для ведения логов.
  6. Cron и Anacron: Cron запускает задачи по точному расписанию, но если система была выключена, когда задача должна была быть выполнена, то она не будет выполнена. Anacron, в свою очередь, предназначен для выполнения периодических задач на системах, которые не всегда работают, например, на ноутбуках.

Пример задания в crontab:

30 7 * * 1 /home/user/backup.sh
пример выполнит скрипт /home/user/backup.sh каждую неделю по понедельникам в 7:30 утра.

Основные команды для управления Cron:

  • crontab -e — редактировать crontab текущего пользователя.
  • crontab -l — просмотреть текущие задания.
  • crontab -r — удалить все задания.

Cron — незаменимый инструмент для автоматизации работы в Unix-системах, облегчая выполнение рутинных задач без вмешательства пользовател