# ═══════════════════════════════════════════════════════════
# Расписание платформы
# ═══════════════════════════════════════════════════════════
#
# Форматы:
# every: "30m" | "1h" | "6h" | "1d"
# at: "08:00" | "03:30"
# cron: "*/5 * * * *" (для сложных случаев)
#
# ═══════════════════════════════════════════════════════════
tasks:
# ─────────────────────────────────────────
# MONITOR — динамическое здоровье системы
# ─────────────────────────────────────────
# Частота проверок адаптируется к уровню заполнения диска:
# < 90%: раз в сутки (12:00 МСК)
# >= 90%: каждый час
# >= 95%: каждые 30 минут
# >= 97%: каждые 10 минут
# >= 98%: каждые 10 минут + звонок в Telegram
monitor_dynamic:
description: "Динамический мониторинг с адаптивной частотой"
command: "python3 system/monitor/monitor_dynamic.py"
every: "10m"
enabled: true
# ─────────────────────────────────────────
# ОТЧЁТЫ
# ─────────────────────────────────────────
daily_report:
description: "Ежедневный отчёт оператору"
command: "python3 system/monitor/run.py --report > .monitor/reports/$(date +%Y-%m-%d).md"
at: "08:00"
enabled: true
# ─────────────────────────────────────────
# ПОСТАВЩИКИ - парсинг остатков
# ─────────────────────────────────────────
gordeev_stock_hot_period:
description: "Остатки Гордеев (25-31 дек, каждый час 8-20)"
command: "python3 projects/org/pirotehnika/data/connectors/gordeev_client.py"
cron: "0 8-20 25-31 12 *"
enabled: false # 2026-02-26: отключено до декабря
gordeev_stock_weekly:
description: "Остатки Гордеев (еженедельно по понедельникам)"
command: "python3 projects/org/pirotehnika/data/connectors/gordeev_client.py"
cron: "0 7 * * 1" # понедельник в 7:00
enabled: true
# ─────────────────────────────────────────
# ИНФРАСТРУКТУРА — ПРОКСИ
# ─────────────────────────────────────────
microsocks_restart:
description: "Ежесуточный рестарт SOCKS5-прокси (очистка зависших соединений)"
command: "systemctl restart microsocks"
at: "04:00"
enabled: false # 2026-02-26: отключено — порт 1080 закрыт для внешних IP через UFW
# ─────────────────────────────────────────
# БЭКАПЫ ПО СЛОЯМ (L1-L5)
# ─────────────────────────────────────────
backup_L1_system:
description: "L1: ОС конфиги (apt, systemd, nginx, cron, ssh)"
command: "bash infra/@backup.service/scripts/backup-L1-system.sh"
cron: "0 2 * * 0" # воскресенье 02:00
enabled: true
backup_L2_docker:
description: "L2: Docker + дампы БД (PostgreSQL, MariaDB)"
command: "bash infra/@backup.service/scripts/backup-L2-docker.sh"
every: "4h"
enabled: true
backup_L3_workspace:
description: "L3: Git bundle + requirements"
command: "bash infra/@backup.service/scripts/backup-L3-workspace.sh"
at: "05:00"
enabled: true
backup_L4_claude:
description: "L4: Claude конфиги (~/.claude/, CLAUDE.md)"
command: "bash infra/@backup.service/scripts/backup-L4-claude.sh"
every: "6h"
enabled: true
backup_sessions:
description: "Архивирование чатов Claude старше 7 дней"
command: "bash infra/@backup.service/scripts/backup-sessions.sh"
cron: "30 4 * * 0" # воскресенье 04:30
enabled: true
backup_rotate:
description: "Ротация бэкапов (7d/1m/12y)"
command: "bash infra/@backup.service/scripts/backup-rotate.sh"
cron: "0 3 * * 0" # воскресенье 03:00
enabled: true
# ─────────────────────────────────────────
# ОЧИСТКА
# ─────────────────────────────────────────
cleanup:
description: "Автоочистка при заполнении диска >= 90%"
command: "bash infra/scripts/auto-cleanup.sh"
every: "1h"
enabled: true
archive_logs:
description: "Еженедельное архивирование логов старше 7 дней"
command: "bash infra/scripts/archive-logs.sh"
cron: "0 3 * * 0" # воскресенье 03:00
enabled: true
# ─────────────────────────────────────────
# СИНХРОНИЗАЦИЯ
# ─────────────────────────────────────────
# ─────────────────────────────────────────
# МОДЕЛИ И БЮДЖЕТ
# ─────────────────────────────────────────
models_check:
description: "Еженедельная проверка моделей, цен, баланса"
command: "python3 system/scheduler/tasks/models_check.py"
cron: "0 9 * * 1" # понедельник 09:00
enabled: true
# ─────────────────────────────────────────
# TELEGRAM BOT — мониторинг
# ─────────────────────────────────────────
telegram_bot_balance_check:
description: "Проверка баланса OpenRouter (алерт если < $5)"
command: "python3 $WORKSPACE/projects/telegram-chatgpt-bot/scripts/check_openrouter_balance.py"
every: "1h"
enabled: true
telegram_bot_daily_report:
description: "Telegram Bot - ежедневный отчёт в 12:00"
command: "python3 $WORKSPACE/projects/telegram-chatgpt-bot/src/monitoring/daily_report.py"
at: "12:00"
enabled: true
# ─────────────────────────────────────────
# LIDERAVTO - Автоустановка Drupal 11
# ─────────────────────────────────────────
lideravto_drupal_auto_install:
description: "Автоустановка Drupal 11 при MySQL 8.x (после миграции сервера)"
command: "bash $WORKSPACE/projects/org/lideravto-new/it/lider-drupal/auto-install.sh"
at: "03:00"
enabled: false # 2026-02-26: отключено — MySQL на хостинге не отвечал, скрипт множился