gendesign/ops/crontab-beget.cron
lekss361 0ba52e55db
All checks were successful
Deploy / changes (push) Successful in 7s
Deploy / deploy-caddy (push) Has been skipped
Deploy / build-frontend (push) Successful in 41s
Deploy / build-backend (push) Successful in 43s
Deploy / build-worker (push) Successful in 45s
Deploy / deploy (push) Successful in 1m32s
Deploy / deploy-status (push) Successful in 1s
Deploy / perimeter-smoke (push) Successful in 9s
chore(ops): развести crontab по хостам под переезд (#3072)
2026-08-24 02:04:40 +00:00

45 lines
3.8 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# crontab ОСТАЮЩЕГОСЯ хоста (Beget, 46.173.16.127) — после переезда 30.08.
#
# Устанавливать НЕ РАНЬШЕ, чем стек уедет на Selectel:
# crontab /opt/gendesign/ops/crontab-beget.cron
# crontab -l # сверить
#
# ЗАЧЕМ ЭТОТ ФАЙЛ. Сегодняшний crontab Beget'а обслуживает ОБА контура сразу:
# и остающийся (Forgejo), и уезжающий (tradein/gendesign). После переезда пять
# записей начнут ходить в контейнеры, которых на этом хосте больше нет —
# `docker exec tradein-backend ...` будет падать каждую ночь. Само по себе это
# ещё полбеды; беда в том, что вместе с ними перестанут обновляться sentinel'ы
# бэкапов, сторож это честно заметит — и упрётся в то, что канал оповещения
# не настроен (#2203: TELEGRAM_* нет ни в одном env-файле). То есть бэкапы
# пропадут молча.
#
# Разделение на два файла — чтобы этот переход был явным действием, а не
# «забыли поправить crontab».
# ── Forgejo: остаётся здесь ─────────────────────────────────────────────────
# Конфиг лежит не в /etc/default (туда нет доступа без root), а в
# /opt/gendesign/secrets — путь передаётся переменной.
15 4 * * * FORGEJO_BACKUP_ENV_FILE=/opt/gendesign/secrets/forgejo-backup.env bash /opt/gendesign/ops/backup-forgejo.sh >> /opt/gendesign/logs/backup-forgejo.log 2>&1
# Сторож пропущенных прогонов для forgejo-бэкапа. Порог 26ч.
0 * * * * bash /opt/gendesign/ops/check-backup-staleness.sh /opt/gendesign/backups/forgejo/.last_success 26 "forgejo backup" >> /opt/gendesign/logs/backup-staleness.log 2>&1
# ── Уборка докера ───────────────────────────────────────────────────────────
# Остаётся здесь, потому что здесь остаются CI-раннеры (#2881) — именно их
# тома и растут. На Selectel нужна СВОЯ такая же запись (см. crontab-poincare).
0 4 * * 0 bash /opt/gendesign/ops/docker-prune.sh >> /tmp/gendesign-docker-prune.log 2>&1
# ── ЧТО ОТСЮДА УБРАНО И ПОЧЕМУ ──────────────────────────────────────────────
# Все записи ниже переехали в ops/crontab-poincare.cron, потому что обращаются
# к контейнерам и данным, которых на Beget после переезда не будет:
#
# 30 4 * * * backup-tradein-db.sh -> dump из tradein-postgres
# 30 3 * * * ops/backup.sh -> dump из gendesign-postgres
# 0 5 * * * backfill_houses_dadata -> docker exec tradein-backend
# 30 5 * * * geocode_deals_from_houses -> docker exec tradein-backend
# 45 5 * * * geocode_deals_nominatim -> docker exec tradein-backend
# 0 * * * * staleness: backups/.last_success (main-бэкап уехал)
# 0 * * * * staleness: backups/tradein/.last_success (tradein-бэкап уехал)
#
# ⚠️ Оставить их здесь = пять падающих задач в сутки И потерянные бэкапы
# обоих продуктовых кластеров.