Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
Компания Комета
ПРОДВИЖЕНИЕ ТОВАРОВ И УСЛУГ В ИНТЕРНЕТЕ
+7 495 118-37-73
+7 495 118-37-73
Заказать звонок
E-mail
support@cometa.agency
Адрес
г. Москва, пр. Серебрякова, 14, стр. 1
Режим работы
Пн. – Пт.: с 9:00 до 18:00
Подать заявку
Продукты
  • Готовые сайты
  • Лицензии 1С-Битрикс
  • Битрикс 24
Услуги
  • Продвижение сайтов
    • Продвижение интернет-магазинов
    • Продвижение по регионам
    • Аудит сайта и исправление технических ошибок
    • Консультация по продвижению сайта
  • SMM-продвижение
    • Pinterest для бизнеса
    • Контент завод
    • Продвижение Telegram
    • Продвижение ВКонтакте
  • Контекстная реклама
    • Настройка Яндекс.Директ
    • Аудит контекстной рекламы
    • Настройка контекстной рекламы
  • Разработка сайтов
    • Разработка сайта под услуги на 1С-Битрикс
    • Интернет-магазин на 1С Битрикс
    • Landing page - посадочные страницы
    • Поддержка сайтов на 1С-Битрикс
  • Репутационный маркетинг
    • SERM - формируем положительный имидж бренда
  • Обучение и курсы
    • Промт - инженер по созданию контента для социальных сетей
  • Продвижение медицины
    • Продвижение медицинских сайтов
    • Продвижение стоматологических клиник
    • YMYL-контент: что это такое и как с ним работать
    • Аудит медицинского сайта
    • Локальное SEO для клиники
    • Продвижение врачей
    • Продвижение зубной клиники
    • Продвижение косметологии
    • Продвижение медицинских сайтов в Москве
    • Продвижение медицинского центра
    • Продвижение медицинской лаборатории
    • Продвижение пластической хирургии
    • Продвижение центра репродукции
    • Репутационный маркетинг для клиник
Кейсы
  • Продвижение сайтов
  • Контекстная реклама
  • Социальные сети
  • Разработка сайтов и дизайн
Тарифы
  • Продвижение сайтов
    • Старт
    • Рост
    • Лидер
  • Контекстная реклама
    • Аудит рекламной кампании
    • Настройка и ведение рекламной кампании
  • Поддержка сайтов
    • Верстка
    • Дизайн
    • Контент
    • Поддержка 24/7
  • Продвижение в социальных сетях
    • Производство контента
    • Таргетированная реклама
    • Аудит аккаунтов в социальных сетях
    • Ведение социальных сетей (SMM)
Акции
Блог / База знаний
Новости
Компания
  • О компании
  • История, миссия, ценности
  • Команда и эксперты
  • Лицензии и сертификаты
  • Отзывы и благодарственные письма
  • Вакансии
  • Партнёры компании
Контакты
Правовая информация
  • Политика конфиденциальности
  • Пользовательское соглашение
  • Публичная оферта, реквизиты компании
  • Вопрос-ответ
  • Оплата
  • Обзоры
  • Возможности
Компания Комета
ПРОДВИЖЕНИЕ ТОВАРОВ И УСЛУГ В ИНТЕРНЕТЕ
Услуги
  • Продвижение сайтов
  • SMM-продвижение
  • Контекстная реклама
  • Разработка сайтов
  • Репутационный маркетинг
  • Обучение и курсы
  • Продвижение медицины
Тарифы
  • Продвижение сайтов
  • Контекстная реклама
  • Поддержка сайтов
  • Продвижение в социальных сетях
Кейсы
  • Продвижение сайтов
  • Контекстная реклама
  • Социальные сети
  • Разработка сайтов и дизайн
Компания
  • О компании
  • История, миссия, ценности
  • Команда и эксперты
  • Лицензии и сертификаты
  • Отзывы и благодарственные письма
  • Вакансии
  • Партнёры компании
Продукты
  • Готовые сайты
    Готовые сайты
  • Лицензии 1С-Битрикс
    Лицензии 1С-Битрикс
  • Битрикс 24
    Битрикс 24
    +7 495 118-37-73
    Заказать звонок
    E-mail
    support@cometa.agency
    Адрес
    г. Москва, пр. Серебрякова, 14, стр. 1
    Режим работы
    Пн. – Пт.: с 9:00 до 18:00
    Подать заявку
    Компания Комета
    Услуги
    • Продвижение сайтов
    • SMM-продвижение
    • Контекстная реклама
    • Разработка сайтов
    • Репутационный маркетинг
    • Обучение и курсы
    • Продвижение медицины
    Тарифы
    • Продвижение сайтов
    • Контекстная реклама
    • Поддержка сайтов
    • Продвижение в социальных сетях
    Кейсы
    • Продвижение сайтов
    • Контекстная реклама
    • Социальные сети
    • Разработка сайтов и дизайн
    Компания
    • О компании
    • История, миссия, ценности
    • Команда и эксперты
    • Лицензии и сертификаты
    • Отзывы и благодарственные письма
    • Вакансии
    • Партнёры компании
    Продукты
    • Готовые сайты
      Готовые сайты
    • Лицензии 1С-Битрикс
      Лицензии 1С-Битрикс
    • Битрикс 24
      Битрикс 24
      +7 495 118-37-73
      Заказать звонок
      E-mail
      support@cometa.agency
      Адрес
      г. Москва, пр. Серебрякова, 14, стр. 1
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      Подать заявку
      Поддержка сайтов

      Настройка крона в Linux

      Настройка крона — это простой способ автоматизировать рутину на Linux-сервере: от резервного копирования до запуска скриптов по расписанию. В статье разберем, как работает cron, где хранятся crontab-файлы, как правильно задать расписание и быстро привести все в порядок.
      Подробнее
      Автор: Аркадий Зверев Время прочтения: 12 минут

      Содержание

      • Что такое cron и как он работает
      • Где хранятся файлы crontab и как они обрабатываются
      • Структура каталогов и файлов, связанных с cron
      • Стандартные директории
      • Синтаксис crontab
      • Специальные символы и их применение и настройка
      • Специальные временные переменные и их настройка
      • Создание и настройка crontab файлов
      • Просмотр и удаление cron-заданий
      • Примеры команд для просмотра и удаления заданий
      • Права доступа и безопасность
      • Рекомендации по безопасности
      • Практические примеры настройки
      • Настройка резервного копирования
      • Настройка переменных окружения
      • Список типичных ошибок при работе с переменными в cron
      • Отладка и устранение ошибок
      • Проверка работы cron через логи
      • Альтернативы и современные подходы
      • Часто задаваемые вопросы
      • Источники

      Что такое cron и как он работает

      Cron — это стандартный планировщик задач в Linux. Он работает как системная служба и по расписанию запускает команду, скрипт или программу без участия пользователя. Через crontab задают время, период и правило, по которому должно начинаться выполнение. Поэтому настройка cron особенно полезна, когда нужно автоматически делать резервное копирование, очищать log, запускать php-обработчики, обновлять данные сайта или выполнять сервисные проверки. В последнее время cron часто используют и на обычных VPS, и на виртуальный машине у разных провайдеров, где через него удобно запускать служебные операции без ручного участия администратора.

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

      Принцип работы cron в системе
      Принцип работы cron в системе

      Где хранятся файлы crontab и как они обрабатываются

      В Linux системный cron файл обычно расположен в /etc/crontab, а дополнительные задания часто лежат в /etc/cron.d/. Пользовательские записи система хранит в каталоге /var/spool/cron/ или рядом с ним, в зависимости от сборки. Каталоги /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly и /etc/cron.monthly обрабатывает run-parts, который по очереди запускает содержимое папок. Для ноутбуков и машин с непостоянной активностью этот механизм нередко дополняет anacron, чтобы нужные действия не пропускались после паузы в работе. Эти каталоги содержат системные и пользовательские записи, разделенных по назначению и интервалу запуска. Если открыть сервер через ssh, можно быстро проверить, как устроена файловой структура, какие пути уже доступны, где лежит нужный file, и как run-parts обходит каталоги без лишнего вмешательства через панель, интерфейс или меню хостинга.

      Структура каталогов и файлов, связанных с cron

      • /etc/crontab — основной системный файл cron.
      • /etc/cron.d/ — отдельные системные задания cron.
      • /var/spool/cron/ — пользовательские crontab-файлы.
      • /var/spool/cron/crontabs/ — пользовательские crontab в Debian и Ubuntu.
      • crontab пользователя — личные задания, которые редактируют через crontab -e.
      • run-parts — запускает скрипты из стандартных cron-каталогов.
      • anacron — выполняет пропущенные задания после включения системы.

      Стандартные директории cron

      • /etc/cron.hourly/ — каждый час
      • /etc/cron.daily/ — каждый день
      • /etc/cron.weekly/ — каждую неделю
      • /etc/cron.monthly/ — каждый месяц

      Синтаксис crontab

      Запись в crontab состоит из шести частей: сначала идут пять полей расписания, затем — строка с действием. Все элементы разделяются пробелами. Такой синтаксис нужен, чтобы система точно понимала, когда именно должна выполнять нужные задания.

      Стандартная схема выглядит так:

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

      Поле Что означает Возможные значения
      Минута В какую минуту запускать команду 0–59
      Час В какой час запускать команду 0–23
      День месяца В какой день месяца выполнять задачу 1–31
      Месяц В каком месяце выполнять задачу 1–12 или сокращения jan–dec
      День недели В какой день недели выполнять задачу 0–7, где 0 и 7 обычно означают воскресенье; также можно использовать mon–sun
      Команда Что именно нужно запустить Абсолютный путь к команде, скрипту или программе

      Все поля идут в одной строке без лишнего пространства и читаются слева направо. В англоязычной документации первое поле нередко называют minute, а команда в конце может указывать как на локальный скрипт, так и на внешний путь вида /path/to/script.sh. Чтобы запись читалась без путаницы, удобно смотреть на нее слева направо. Сначала задают, в какую минуту и в какой час должно начаться действие. Затем указывают календарные условия. После этого добавляют то, что требуется выполнить.

      • 0 2 * * * /usr/bin/php /home/user/scripts/task.php — запуск в 02:00 ежедневно
      • 30 6 * * 1 /usr/local/bin/report.sh — старт по понедельникам в 06:30
      • 15 14 1 * * /usr/bin/backup-command — выполнение первого числа в 14:15

      Например, можно создать отдельные записи на пятницу, на первое число января или на любые другие фиксированные даты, если это нужно для отчетов, очистки или архивации. У новичков чаще всего встречаются три промаха. Первый — перепутаны позиции полей. Второй — указаны неверные значения, например 60 вместо допустимой минуты. Третий — не задан полный путь к команде или файлу в bin, usr или home. Поэтому при редактировании полезно сначала проверить логику записи, а уже после сохранять изменения.

      Специальные символы и их применение

      В расписании есть несколько знаков, которые делают запись гибкой. Символ * означает любое допустимое значение. Дефис - задает диапазон: 1-5. Запятую применяют для нескольких отдельных вариантов: 0,12. Косая черта / задает интервал: */5 означает запуск через каждые пять единиц выбранного поля.

      Эти правила можно комбинировать. Запись */10 9-17 * * 1-5 подходит для сценария, когда действие должно срабатывать через каждые десять единиц в рабочий промежуток по будням. Такой формат удобен, если нужны точные и повторяемые правила без длинной ручной разбивки. Главное ограничение здесь простое: символы помогают описать диапазоны и интервалы, но не заменяют проверку логики. Перед сохранением полезно еще раз убедиться, что значения полей не выходят за допустимые рамки и не конфликтуют между собой.

      Специальные временные переменные

      Для стандартных сценариев удобно брать готовые макросы. Команды cron можно запускать через @reboot после загрузки, @hourly каждый час, @daily или @midnight раз в сутки, @weekly раз в неделю, @monthly раз в месяц, @yearly или @annually раз в год. Такой формат короче обычной записи и быстрее читается при редактировании. Макрос @reboot особенно удобен в сценариях, где нужна перезагрузка фонового процесса сразу после старта системы. Это может быть инициализация мониторинга, запуск очереди задач или восстановление сервисной логики после рестарта.

      Сокращение Что означает Эквивалент в обычном синтаксисе
      @reboot запуск после загрузки системы нет точного эквивалента по времени
      @yearly один раз в год 0 0 1 1 *
      @annually один раз в год 0 0 1 1 *
      @monthly один раз в месяц 0 0 1 * *
      @weekly один раз в неделю 0 0 * * 0
      @daily один раз в день 0 0 * * *
      @midnight каждый день в полночь 0 0 * * *
      @hourly один раз в час 0 * * * *

      Например, @daily /usr/local/bin/cleanup.sh равен записи 0 0 * * * /usr/local/bin/cleanup.sh. В свою очередь, @reboot /usr/bin/php /home/user/app/init.php подходит для инициализации сервиса сразу после старта системы.

      Создание и редактирование crontab файлов

      Редактирование заданий cron удобнее всего начинать через crontab -e. Эта утилита открывает файл текущего профиля в том редакторе, который определены в EDITOR или VISUAL. Если переменные не задать заранее, откроется редактор по умолчанию. Поэтому перед началом полезно выбрать удобный вариант и только потом добавить новые записи. Чаще всего редактирование идет через ssh: администратор вводит логин, попадает в нужный аккаунт и уже там открывает crontab -e. Если cron еще не активен, его можно установить через пакетный менеджер, например командой с install, а затем проверить, что редактор и базовая опция запуска настроены корректно.

      • Выполнить crontab -e.
      • Вставить новую строку с расписанием и действием.
      • При необходимости оставить комментарий над записью.
      • Сохранить содержимое и закрыть окно.

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

      Пример хорошо организованного crontab файла с комментариями
      Пример хорошо организованного crontab файла с комментариями

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

      Для просмотра текущих записей используйте crontab -l. Эта команда выводит весь список в терминал, поэтому перед любым изменением удобно сделать резервную копию: crontab -l > backup.cron. Полное удаление выполняет crontab -r, и здесь нужна аккуратность: исчезают все записи сразу. Если нужно убрать только один пункт, безопаснее открыть таблицу через crontab -e и удалить нужную строку вручную.

      Примеры команд для просмотра и удаления заданий

      • crontab -l — показывает все задания текущего пользователя.
      • sudo crontab -l — показывает задания пользователя root.
      • crontab -l > backup.cron — сохраняет текущие задания в файл.
      • crontab -e — открывает crontab для редактирования.
      • crontab -r — удаляет все задания текущего пользователя.
      • sudo crontab -r — удаляет все задания пользователя root.
      • crontab -l | grep backup — показывает только строки со словом backup.

      Права доступа и безопасность

      Доступ к планировщику регулируют /etc/cron.allow и /etc/cron.deny. Если есть cron.allow, запуск разрешен только тем, чьи имена указаны в этом списке. Если используется только cron.deny, блокируются перечисленные account. Для безопасности лучше выполнять сценарии без лишних привилегий, а sudo давать только там, где он действительно нужен. Кроме того, стоит заранее проверить права на исполняемый скрипт, указать абсолютный путь, не хранить секреты внутри задания и включить журналирование. Такой подход снижает риск случайного доступа, упрощает защиту сервера и делает обработку сбоев заметно понятнее.

      Рекомендации по безопасности

      • запускайте задания от пользователя с минимально нужными правами
      • не храните пароли и ключи прямо в crontab
      • всегда указывайте абсолютные пути к командам и скриптам
      • проверяйте права доступа к исполняемым файлам
      • не давайте право записи посторонним пользователям на скрипты cron
      • перенаправляйте вывод в лог и регулярно его просматривайте
      • ограничивайте доступ к cron через /etc/cron.allow и /etc/cron.deny
      • проверяйте скрипты перед добавлением в расписание
      • не запускайте sudo без реальной необходимости
      • для критичных задач настраивайте уведомления об итогах выполнения

      Практические примеры настройки cron

      Ниже — готовые варианты для частых сценариев. Они помогают быстро собрать рабочее расписание и понять логику записи без долгой теории. Такой cron запуск удобно проверять вручную на тестовом VPS, а уже потом переносить на production.

      • * * * * * /usr/local/bin/ping-check.sh — срабатывает каждую единицу первого поля. Подходит для короткого мониторинга.
      • 0 * * * * /opt/tools/cache-refresh.sh — стартует в ноль минут каждого часа. Частый вариант для обновления кэша.
      • 0 0 * * * /opt/maintenance/cleanup-temp.sh — выполняется в полночь. Удобно для очистки временных каталогов.
      • 0 0 * * 0 /opt/backup/weekly-backup.sh — работает по воскресеньям ночью. Подходит для недельного бэкапа.
      • 0 0 1 * * /opt/reports/month-open.sh — идет в первый календарный день. Хороший вариант для ежемесячного отчета.
      • 0 0 15 * * /opt/billing/check-cycle.sh — стартует 15 числа и подходит для периодических расчетов.
      • */10 9-18 * * 1-5 /opt/watch/service-check.sh — запуск по будням в рабочий диапазон. Так часто строят задач cron для контроля приложений, веб-узла или панели управления.

      Если нужен запуск с PHP, запись может выглядеть так:

      15 3 * * * /usr/bin/php /opt/project/bin/job.php >/dev/null 2>&1

      Такой формат сразу задает интервал, путь и перенаправление вывода.

      Настройка резервного копирования

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

      Простой пример:

      #!/bin/sh
      tar -czf /backup/site-$(date +\%F).tar.gz /var/www/project
      find /backup -type f -mtime +14 -delete

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

      Настройка переменных окружения в cron

      У планировщика cron окружение заметно проще, чем в обычной консоли. Он не читает ~/.bashrc и ~/.bash_profile, поэтому многие привычные параметры там недоступны. Именно из-за этого одна и та же строка в терминале может идти нормально, а по расписанию — нет.

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

      SHELL=/bin/sh
      PATH=/usr/local/bin:/usr/bin:/bin
      HOME=/home/user
      MAILTO=admin@example.com

      Дальше уже добавляют действия. Практическое правило простое: всегда указывать полный путь к исполняемому файлу и при необходимости отдельно задавать env-параметры. Тогда поведение будет предсказуемым, а проверять результаты станет легче.

      Список типичных ошибок при работе с переменными в cron

      • рассчитывать, что cron загрузит ~/.bashrc или ~/.bash_profile
      • не указывать PATH явно в начале crontab
      • использовать короткие команды без полного пути, например php вместо /usr/bin/php
      • забывать задать SHELL, если скрипт зависит от конкретной оболочки
      • указывать неверный HOME
      • не настраивать MAILTO, когда нужен почтовый вывод
      • передавать переменные окружения только в терминале, но не в crontab
      • использовать переменные, которые существуют в интерактивной сессии, но недоступны cron
      • не экранировать специальные символы в значениях переменных
      • не проверять окружение вручную перед запуском задачи по расписанию

      Отладка и устранение ошибок

      Если задача не срабатывает, диагностику лучше идти по шагам. Сначала стоит проверить, активна ли служба: systemctl status cron или systemctl status crond на другой сборке. Затем нужно еще раз посмотреть саму запись: один лишний символ, пустую позицию или неверный диапазон легко пропустить при редактировании.

      Следующий шаг — ручной тест. Возьмите ту же строку и запустите ее в консоли от того же имени. Так быстрее понять, связана ли причина с доступом, окружением или самим сценарием. После этого полезно добавить перенаправление в отдельный log-файл:

      /opt/job/run.sh >> /tmp/cron-debug.log 2>&1

      • неверный формат расписания
      • отсутствие права на execute
      • не указан полный путь
      • команда зависит от shell-переменных
      • внутри script есть сбой, который не видно без журнала

      Если проверять по этой схеме, источник сбоя обычно находится быстро.

      Ситуация Возможная причина Что проверить Способ решения
      Задание не запускается Ошибка в расписании Формат строки в crontab Проверить поля времени и сохранить запись заново через crontab -e
      Команда не найдена В cron нет нужного PATH Путь к бинарнику Указать полный путь, например /usr/bin/php вместо php
      Скрипт не выполняется Нет права на запуск Права файла Выдать права: chmod +x /path/script.sh
      Появляется Permission denied Недостаточно прав у пользователя От какого имени идет запуск Запускать от нужного пользователя или пересмотреть права доступа
      В терминале работает, а в cron нет Другое окружение PATH, SHELL, HOME, переменные Явно задать переменные в начале crontab
      Нет вывода и непонятно, что произошло Вывод никуда не сохраняется stdout и stderr Добавить логирование: >> /tmp/cron.log 2>&1
      Задание не видно в списке Редактировался не тот crontab Текущий пользователь Проверить через crontab -l и при необходимости sudo crontab -l
      Макрос или символ работает не так, как ожидалось Неверно понят синтаксис *, ,, -, /, @daily и другие Перепроверить значение каждого поля и протестировать запись
      Скрипт запускается, но дает неверный результат Сбой внутри самого скрипта Ручной запуск команды Выполнить скрипт вручную тем же пользователем и посмотреть вывод
      Нет следов запуска Служба cron не активна Статус демона Проверить systemctl status cron или systemctl status crond и при необходимости запустить службу

      Проверка работы cron через логи

      Понять, идут ли задания, проще всего через системные журналы. На RHEL и CentOS часто смотрят /var/log/cron, а на Debian и Ubuntu — /var/log/syslog. Для фильтрации удобно использовать grep CRON /var/log/syslog | tail -20. На системах с systemd полезна и другая команда: journalctl -u cron. В записях обычно видны дата, имя хоста, PID процесса и строка запуска. Если задача завершается с кодом 0, это нормальный результат. Любое другое значение уже повод проверить вывод, адрес почты для уведомления и параметры запуска.

      Альтернативы и современные подходы

      Сегодня вместо классического механизма часто рассматривают systemd timers. Такой вариант удобен там, где важны зависимости между юнитами, централизованный контроль через journalctl и более тесная связка с инфраструктурой дистрибутива. Для ноутбуков и рабочих станций уместен anacron: он догоняет пропущенные срабатывания после долгого простоя. Для одноразового действия подходит at, когда повторяемый цикл не нужен.

      Выбор зависит от сценария. Для небольшой регулярной автоматизации cron по-прежнему хорош своей предсказуемостью. Для новых проектов на современном Linux таймеры systemd нередко оказываются удобнее в сопровождении и наблюдении.

      Часто задаваемые вопросы

      Что такое Cron и зачем он нужен?

      Cron — это системный механизм автоматического старта команд по заранее заданному графику.

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

      Какая правильная настройка Cron?

      Самый частый путь — открыть личную таблицу через crontab -e, затем вписать строку с расписанием и действием, сохранить изменения и проверить результат.

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

      Какой синтаксис используется в настройке crontab?

      Базовый формат состоит из пяти временных колонок и одной части с действием: минута час день_месяца месяц день_недели команда.

      Например, запись 0 3 * * * /opt/scripts/job.sh означает ежедневный старт в 03:00. Для гибкости применяют *, диапазоны, списки и шаг.

      Как посмотреть список текущих крон-задач?

      Для просмотра используют crontab -l.

      Команда показывает все активные строки текущего профиля. Перед крупными правками удобно сразу сохранить копию: crontab -l > ~/backup.cron. Так проще вернуть прежнее состояние, если после редактуры что-то пошло не так.

      Как диагностировать сбои крон, если задачи не выполняются?

      Начните с четырех проверок: активна ли служба, корректна ли запись, есть ли права на запуск и указан ли полный путь.

      Затем протестируйте ту же команду вручную и добавьте журналирование: /opt/job/run.sh >> /tmp/debug.log 2>&1. После этого источник сбоя обычно становится очевиднее.

      Как запустить скрипт по расписанию с помощью крон?

      Нужно указать полный путь к сценарию и время старта.

      Пример: 30 2 * * 1 /opt/backup/weekly.sh. Такой вариант запустит файл по понедельникам в 02:30. Если внутри используется интерпретатор, его тоже лучше задавать явно, без сокращений и догадок системы.

      Какие специальные переменные можно использовать в настройке cron?

      Для типовых случаев подходят макросы @reboot, @hourly, @daily, @weekly, @monthly, @yearly.

      Кроме них, в верхней части таблицы часто задают SHELL, PATH, HOME и MAILTO. Они влияют на среду выполнения, доставку вывода и предсказуемость запуска.

      Где хранятся логи крон?

      Расположение зависит от дистрибутива.

      На Debian и Ubuntu часто смотрят /var/log/syslog, а на CentOS и RHEL — /var/log/cron. Для быстрого просмотра удобно использовать фильтр grep CRON /var/log/syslog | tail -20. На системах с systemd дополнительно помогает journalctl -u cron.

      Как передать вывод cron задачи на email?

      Проще всего задать в таблице строку MAILTO=admin@example.com.

      Тогда стандартный вывод и сообщения об ошибках будут отправляться на указанный ящик. Если письма не нужны, их можно отключить перенаправлением в /dev/null или сохранить результат в отдельный журнал для последующей проверки.

      Чем отличается cron от systemd timers?

      Cron проще и привычнее: он хорош для регулярных действий без сложных зависимостей.

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

      Источники

      • man7.org — crontab(5)
      • man7.org — cron(8)
      • man7.org — crontab(1)
      • man7.org — anacron(8)
      • ArchWiki — Cron
      • systemd documentation — systemd.timer
      Автор:
      Аркадий Зверев
      Аркадий Зверев
      Генеральный директор
      Отвечает за развитие компании и работу с ключевыми партнерами. Профессиональный опыт включает разработку сайтов, SEO-продвижение и запуск digital-проектов.
      Акции
      до 1 декабря
      Скидка 7000 руб. на продвижение сайта в регионах
      Для получения скидки назовите кодовое слово «РЕГИОН».
      – 7000 рублей
      Отзывы
      ООО "Честный Агент"
      Ирина Мельник

      Наше дело – ритуальные услуги в Москве, где спрос отложенный и люди не планируют похороны заранее. Сайт долго был на низких позициях, трафик не шел. Cometa изменила структуру, переписала каталог и страницы под услуги – и за полтора...

      Подробнее
      «ДМ ЛОГИСТИК»
      Михаил Деревянко
      В короткий срок была построена сеть сайтов по России, ориентированных на доставку автомобилей по ЖД и автовозами. Сейчас это успешный и стабильный бизнес, совместно организованный с ноля. Таких компаний как "Комания Комета" очень ...
      Подробнее
      "Сильвер Паркет"
      Виталий Шматов
      С «Кометой» работаем более 12 лет. Ниша — дорогой художественный паркет и паркетная доска для частных домов и госучреждений. Агентство стабильно удерживает нас в топе Яндекса, регулярно дорабатывает сайт и расширяет структуру под ...
      Подробнее
      ООО "СпецДемонтаж"
      Виталий Романов
      Я, Виталий Романов, генеральный директор Спецдемонтажа, сотрудничаю с Кометой уже более 12 лет. Тематика демонтажа зданий в Москве непростая, но команда удерживает нас в топе по ключевым запросам. За эти годы несколько раз обновля...
      Подробнее
      Проекты
      Разработали сеть из 16 сайтов и получаем заявки из поиска Яндекс
      Разработка сайта для продажи бьюти-услуг
      Создали и продвинули сайт в поиске Яндекс и Google за 3 месяца
      Оптимизировали сайт и за месяц повысили ROI с 213% до 417%
      Статьи
      Поддержка сайтов
      Внедрение умного фильтра
      Умный фильтр помогает интернет-магазину быстрее выводить нужные страницы под спрос и усиливать SEO-оптимизацию каталога. При грамотной настройке сайт получает более понятную структуру, дополнительные точки входа из поиска и более удобный выбор товаров для пользователей.
      Сотрудники
      Генеральный директор
      Аркадий Зверев
      Генеральный директор
      Аркадий Зверев
      Телефон
      +7 495 118-37-73
      E-mail
      top@cometa.agency
      Написать сообщение
      Координатор проектов
      Егор Аникеев
      Координатор проектов
      Егор Аникеев
      Телефон
      +7 495 118-73-37
      E-mail
      manager@cometa.agency
      Контент менеджер
      Ольга Тимофеева
      Контент менеджер
      Ольга Тимофеева
      Менеджер SEO проектов
      Владимир Белоусов
      Менеджер SEO проектов
      Владимир Белоусов
      Телефон
      +7 495 118-37-73
      E-mail
      support@cometa.agency
      Написать сообщение
      Товары
      Тематики
      нет
      Региональность
      нет
      Конструктор посадочных страниц
      нет
      Подходящие редакции 1С-Битрикс
      «Бизнес», «Интернет-магазин + CRM», «Малый бизнес», «Стандарт», «Старт»
      Акция
      Рекомендуем
      Готовый сайт услуг
      Отраслевые сайты
      Готовый сайт услуг
      В наличии
      89 900 ₽
      Забронировать
      Тематики
      да
      Региональность
      да
      Конструктор посадочных страниц
      да
      Подходящие редакции 1С-Битрикс
      «Бизнес», «Интернет-магазин + CRM», «Малый бизнес», «Стандарт», «Старт»
      Акция
      Новинка
      Рекомендуем
      Медицинский центр 3.0
      Отраслевые сайты
      Медицинский центр 3.0
      В наличии
      89 900 ₽
      Забронировать
      Тематики
      нет
      Региональность
      да
      Конструктор посадочных страниц
      да
      Подходящие редакции 1С-Битрикс
      «Бизнес», «Интернет-магазин + CRM», «Малый бизнес», «Стандарт», «Старт»
      Хит
      Аспро: Корпоративный сайт 2.0
      Корпоративные сайты
      Аспро: Корпоративный сайт 2.0
      69 900 ₽
      Забронировать
      Тематики
      нет
      Региональность
      нет
      Конструктор посадочных страниц
      нет
      Подходящие редакции 1С-Битрикс
      «Бизнес», «Интернет-магазин + CRM», «Малый бизнес», «Стандарт», «Старт»
      Аспро: Корпоративный сайт современной компании
      Корпоративные сайты
      Аспро: Корпоративный сайт современной компании
      39 900 ₽
      Забронировать
      Назад к списку
      Контакты

      Оставьте заявку

      Перезвоним за 10 минут. Обсудим задачи, предложим оптимальное решение и согласуем план работ. Ответим на вопросы и расскажем про актуальные акции. Всегда на связи!

      Продукты
      Услуги
      Кейсы
      Тарифы
      Компания
      Контакты
      Вакансии
      Блог
      +7 495 118-37-73
      +7 495 118-37-73
      Заказать звонок
      E-mail
      support@cometa.agency
      Адрес
      г. Москва, пр. Серебрякова, 14, стр. 1
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      Заказать звонок
      support@cometa.agency
      © 2026 ООО "Компания Комета" ОГРН: 1086910001364
      Акредитованная IT компания. Запись в реестре № АО-20220621-5597705016-3
      129343, Москва, Серебрякова пр-д, дом 14/15
      Согласие на обработку персональных данных
      Политика защиты и обработки персональных данных ООО «Компания Комета»
      Политика конфиденциальности
      Версия для слабовидящих
      Поиск по сайту

      УВЕДОМЛЕНИЕ о сборе cookies – файлов

      Общество с ограниченной ответственностью «Компания Комета», ИНН: 6926002800, ОГРН: 1086910001364, адрес места нахождения: 171470, РОССИЯ, обл ТВЕРСКАЯ, пгт КЕСОВА ГОРА, ул МОСКОВСКАЯ, ДОМ 11, офис КВ.8, обрабатывает файлы cookies.

      Они помогают нам делать этот сайт удобнее для пользователей.

      Продолжая работу с сайтом: cometa.agency, вы соглашаетесь с обработкой файлов cookies вашего браузера.

      Однако вы можете запретить обработку некоторых типов файлов cookies в настройках вашего браузера либо на странице «Уведомление об использовании файлов cookies».