All checks were successful
Deploy / changes (push) Successful in 8s
Deploy / build-backend (push) Has been skipped
Deploy / build-worker (push) Has been skipped
Deploy Infra Host / sync-infra-host (push) Successful in 4s
Deploy / build-frontend (push) Has been skipped
Deploy / deploy-caddy (push) Has been skipped
Deploy / deploy (push) Successful in 1m35s
Deploy / deploy-status (push) Successful in 1s
Deploy / perimeter-smoke (push) Successful in 9s
60 lines
5.3 KiB
Text
60 lines
5.3 KiB
Text
# 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
|
||
|
||
# ── Бэкап волта Obsidian (CouchDB) ──────────────────────────────────────────
|
||
# Волт остаётся на этом хосте вместе с Forgejo и GlitchTip, поэтому запись
|
||
# живёт здесь, а не в crontab-poincare. До #3057 у CouchDB не было
|
||
# автоматического бэкапа вообще — единственной копией был ручной месячный
|
||
# прогон на машине владельца.
|
||
# Скрипт ОСТАНАВЛИВАЕТ CouchDB на время снятия снимка (секунды, данных ~85 МБ):
|
||
# file-level копия работающего узла может оказаться рассогласованной. Время —
|
||
# 04:45, между forgejo-бэкапом (04:15) и недельной уборкой докера (04:00 вс),
|
||
# чтобы три задачи не дрались за диск и сеть одновременно.
|
||
45 4 * * * bash /opt/gendesign/ops/backup-couchdb.sh >> /opt/gendesign/logs/backup-couchdb.log 2>&1
|
||
|
||
# Сторож пропущенных прогонов для бэкапа волта. Порог 26ч — как у остальных:
|
||
# сутки плюс запас на сдвиг прогона.
|
||
0 * * * * bash /opt/gendesign/ops/check-backup-staleness.sh /opt/gendesign/backups/couchdb/.last_success 26 "couchdb 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-бэкап уехал)
|
||
#
|
||
# ⚠️ Оставить их здесь = пять падающих задач в сутки И потерянные бэкапы
|
||
# обоих продуктовых кластеров.
|