Примеры использования в cron 
Примеры настройки автоматизации команд через cron для различных задач.
Основы работы с cron 
Формат crontab 
┌───────────── минуты (0-59)
│ ┌───────────── часы (0-23)
│ │ ┌───────────── день месяца (1-31)
│ │ │ ┌───────────── месяц (1-12)
│ │ │ │ ┌───────────── день недели (0-7, 0 и 7 = воскресенье)
│ │ │ │ │
* * * * * команда для выполненияСпециальные строки 
@reboot- при загрузке системы@yearlyили@annually- раз в год (0 0 1 1 *)@monthly- раз в месяц (0 0 1 * *)@weekly- раз в неделю (0 0 * * 0)@dailyили@midnight- раз в день (0 0 * * *)@hourly- каждый час (0 * * * *)
Редактирование crontab 
# Редактировать crontab текущего пользователя
crontab -e
# Просмотреть текущий crontab
crontab -l
# Удалить crontab
crontab -rБазовые примеры 
Управление кешем 
# Ежедневная очистка кеша в 3:00
0 3 * * * cd /var/www/bitrix && php bitrix.php cache:clear
# Очистка кеша каталога каждые 6 часов
0 */6 * * * cd /var/www/bitrix && php bitrix.php cache:type:clear catalog
# Очистка кеша меню каждый час
0 * * * * cd /var/www/bitrix && php bitrix.php cache:type:clear menuЗапуск агентов 
# Запуск агентов каждые 5 минут
*/5 * * * * cd /var/www/bitrix && php bitrix.php agent:run
# Запуск агентов каталога каждые 15 минут
*/15 * * * * cd /var/www/bitrix && php bitrix.php agent:run --module=catalog
# Запуск критичных агентов каждые 2 минуты
*/2 * * * * cd /var/www/bitrix && php bitrix.php agent:run --module=mainПереиндексация поиска 
# Переиндексация поиска раз в неделю (воскресенье в 2:00)
0 2 * * 0 cd /var/www/bitrix && php bitrix.php search:reindex --full
# Быстрая переиндексация каждый день в 4:00
0 4 * * * cd /var/www/bitrix && php bitrix.php search:reindex
# С очисткой подсказок раз в месяц
0 3 1 * * cd /var/www/bitrix && php bitrix.php search:reindex --full --clear-suggestФасетные индексы 
# Пересоздание фасетных индексов каждую ночь в 4:00
0 4 * * * cd /var/www/bitrix && php bitrix.php iblock:facet-rebuild
# Обновление только конкретного инфоблока
0 5 * * * cd /var/www/bitrix && php bitrix.php iblock:facet-rebuild 1Резервное копирование 
Базовые стратегии 
# Полный ежедневный бэкап в 2:00
0 2 * * * cd /var/www/bitrix && php bitrix.php backup:create --name="daily_$(date +\%Y\%m\%d)"
# Бэкап только БД каждые 6 часов
0 */6 * * * cd /var/www/bitrix && php bitrix.php backup:create --skip-kernel --skip-public --name="db_$(date +\%Y\%m\%d_\%H)"
# Еженедельный полный бэкап (воскресенье в 1:00)
0 1 * * 0 cd /var/www/bitrix && php bitrix.php backup:create --name="weekly_full_$(date +\%Y\%m\%d)"
# Ежемесячный архивный бэкап (первое число месяца в 0:00)
0 0 1 * * cd /var/www/bitrix && php bitrix.php backup:create --name="monthly_$(date +\%Y\%m)"Продвинутые стратегии 
# Чистый бэкап без логов и статистики
0 3 * * * cd /var/www/bitrix && php bitrix.php backup:create \
  --name="clean_$(date +\%Y\%m\%d)" \
  --skip-stat --skip-search --skip-log \
  --exclude-dir=/bitrix/cache \
  --exclude-dir=/upload/tmp \
  --exclude-mask="*.log"
# Быстрый минимальный бэкап для частого запуска
0 */4 * * * cd /var/www/bitrix && php bitrix.php backup:create \
  --name="minimal_$(date +\%Y\%m\%d_\%H)" \
  --skip-stat --skip-search \
  --max-file-size=5120 \
  --no-integrity-checkМониторинг и диагностика 
Мониторинг системы 
# Ежедневная проверка состояния БД
0 6 * * * cd /var/www/bitrix && php bitrix.php db:info -v >> /var/log/bitrix-db-check.log
# Еженедельный отчет по пользователям
0 10 * * 1 cd /var/www/bitrix && php bitrix.php user:list > /tmp/users.txt && \
  mail -s "Weekly Users Report" admin@example.com < /tmp/users.txt
# Ежедневная проверка агентов
0 7 * * * cd /var/www/bitrix && php bitrix.php agent:list --active >> /var/log/bitrix-agents.logПроверка работоспособности 
# Проверка каждые 15 минут
*/15 * * * * cd /var/www/bitrix && \
  if ! php bitrix.php db:info >/dev/null 2>&1; then \
    echo "DB connection failed" | mail -s "Bitrix Alert" admin@example.com; \
  fiОбслуживание и оптимизация 
Очистка и оптимизация 
# Очистка старых логов раз в неделю
0 5 * * 0 find /var/www/bitrix/backup -name "*.tar.gz" -mtime +30 -delete
# Очистка tmp каждый день
0 4 * * * find /var/www/upload/tmp -type f -mtime +7 -delete
# Оптимизация таблиц БД раз в месяц
0 3 1 * * cd /var/www/bitrix && \
  mysql -u user -p'password' database -e "OPTIMIZE TABLE b_search_content, b_stat_session"Обновления 
# Проверка обновлений каждый день в 8:00
0 8 * * * cd /var/www/bitrix && \
  php bitrix.php update:modules 2>&1 | \
  grep -i "available" && \
  echo "Updates available" | mail -s "Bitrix Updates" admin@example.com
# Автоматическое обновление языковых файлов раз в неделю
0 4 * * 1 cd /var/www/bitrix && php bitrix.php update:languagesКомплексные сценарии 
Полное обслуживание сайта 
# Ночное обслуживание (каждый день в 3:00)
0 3 * * * cd /var/www/bitrix && \
  # Бэкап \
  php bitrix.php backup:create --name="daily_$(date +\%Y\%m\%d)" && \
  # Очистка кеша \
  php bitrix.php cache:clear && \
  # Переиндексация \
  php bitrix.php search:reindex && \
  # Фасетные индексы \
  php bitrix.php iblock:facet-rebuild && \
  # Отчет \
  echo "Maintenance completed" | mail -s "Daily Maintenance" admin@example.comДифференцированное расписание 
# Понедельник - полная очистка и индексация
0 2 * * 1 cd /var/www/bitrix && \
  php bitrix.php cache:clear && \
  php bitrix.php search:reindex --full
# Среда и пятница - частичная индексация
0 2 * * 3,5 cd /var/www/bitrix && \
  php bitrix.php search:reindex && \
  php bitrix.php iblock:facet-rebuild
# Воскресенье - полный бэкап и оптимизация
0 1 * * 0 cd /var/www/bitrix && \
  php bitrix.php backup:create --name="weekly_$(date +\%Y\%m\%d)" && \
  mysql -u user -p'password' database < /path/to/optimize.sqlTroubleshooting 
Задачи не выполняются 
Проблема: Cron-задачи не запускаются
Решения:
Проверьте, что cron запущен:
bashsudo systemctl status cron # для Ubuntu/Debian sudo systemctl status crond # для CentOS/RHELПроверьте синтаксис crontab:
bashcrontab -lПроверьте логи cron:
bashgrep CRON /var/log/syslog # Ubuntu/Debian tail -f /var/log/cron # CentOS/RHELПроверьте права доступа к скриптам
Команды работают вручную, но не в cron 
Проблема: Команды успешно выполняются вручную, но не через cron
Решения:
Используйте абсолютные пути:
bash0 3 * * * /usr/bin/php /var/www/bitrix/bitrix.php cache:clearЯвно укажите PATH:
bashPATH=/usr/local/bin:/usr/bin:/bin 0 3 * * * cd /var/www/bitrix && php bitrix.php cache:clearУбедитесь, что cd выполняется:
bash0 3 * * * cd /var/www/bitrix && pwd >> /tmp/test.log && php bitrix.php cache:clear
Полезные советы 
💡 Используйте абсолютные пути - всегда указывайте полные пути к файлам
💡 Логируйте всё - перенаправляйте вывод в логи для отладки
💡 Тестируйте вручную - перед добавлением в cron проверьте команду вручную
💡 Мониторьте выполнение - настройте алерты при сбоях
💡 Документируйте - добавляйте комментарии к cron-задачам
💡 Группируйте логически - объединяйте связанные задачи
💡 Используйте блокировки - предотвращайте параллельное выполнение
💡 Настройте уведомления - получайте email при ошибках
💡 Ротируйте логи - не забывайте удалять старые логи
Дополнительные инструменты 
Использование anacron 
Для задач, которые должны выполняться даже если система была выключена:
# /etc/anacrontab
1  5  daily-backup  cd /var/www/bitrix && php bitrix.php backup:create
7  10 weekly-full   cd /var/www/bitrix && php bitrix.php search:reindex --fullЦентрализованное управление (cron.d) 
Создайте файл /etc/cron.d/bitrix:
# /etc/cron.d/bitrix
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Агенты каждые 5 минут
*/5 * * * * www-data cd /var/www/bitrix && php bitrix.php agent:run
# Очистка кеша ежедневно в 3:00
0 3 * * * www-data cd /var/www/bitrix && php bitrix.php cache:clear
# Бэкап ежедневно в 2:00
0 2 * * * www-data cd /var/www/bitrix && php bitrix.php backup:createСмотрите также 
- Все страницы команд содержат специфичные примеры использования в cron
 - Команды агентов - настройка регулярного запуска агентов
 - Команды резервного копирования - автоматизация бэкапов
 - Команды кеша - автоматическая очистка кеша