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
48 lines
4.8 KiB
Text
48 lines
4.8 KiB
Text
# crontab ПРИНИМАЮЩЕГО хоста (Selectel Poincare, 188.246.224.93) — после 30.08.
|
||
#
|
||
# Устанавливать СРАЗУ после того, как стек поднялся и смоук прошёл:
|
||
# crontab /opt/gendesign/ops/crontab-poincare.cron
|
||
# crontab -l # сверить
|
||
#
|
||
# ⚠️ САМЫЙ ОПАСНЫЙ ПРОПУСК ВСЕГО ПЕРЕЕЗДА. Если этот файл не установить,
|
||
# на новом хосте НЕ БУДЕТ НИ ОДНОГО БЭКАПА — ни tradein, ни gendesign. И узнать
|
||
# об этом будет неоткуда: сторож пропущенных прогонов (check-backup-staleness)
|
||
# сам живёт в этом же crontab'е, то есть его тоже не будет. Отсутствие бэкапов
|
||
# обнаружится в момент, когда они понадобятся.
|
||
#
|
||
# Времена оставлены те же, что были на Beget — чтобы не гадать, изменилось ли
|
||
# поведение из-за переезда или из-за нового расписания. Подгонять окна имеет
|
||
# смысл ПОСЛЕ того, как всё поедет стабильно.
|
||
|
||
# ── Бэкапы обоих кластеров ──────────────────────────────────────────────────
|
||
# Off-box выгрузка в S3 включается через /etc/default/tradein-backup и
|
||
# /etc/default/gendesign-backup — файлы НЕ переезжают сами (в git их нет и не
|
||
# должно быть), их нужно перенести руками. Без них дампы останутся локальными,
|
||
# то есть на том же диске, что и БД, — ровно то, из-за чего заводился #2203.
|
||
30 3 * * * bash /opt/gendesign/ops/backup.sh >> /opt/gendesign/logs/gendesign-backup.log 2>&1
|
||
30 4 * * * bash /opt/gendesign/tradein-mvp/deploy/backup-tradein-db.sh >> /opt/gendesign/logs/tradein-backup.log 2>&1
|
||
|
||
# Сторожа пропущенных прогонов, порог 26ч. Едут вместе со своими бэкапами:
|
||
# сторож должен жить там же, где sentinel, иначе он сторожит файл, который
|
||
# никто не обновляет, и кричит вечно.
|
||
0 * * * * bash /opt/gendesign/ops/check-backup-staleness.sh /opt/gendesign/backups/.last_success 26 "gendesign main backup" >> /opt/gendesign/logs/backup-staleness.log 2>&1
|
||
0 * * * * bash /opt/gendesign/ops/check-backup-staleness.sh /opt/gendesign/backups/tradein/.last_success 26 "tradein backup" >> /opt/gendesign/logs/backup-staleness.log 2>&1
|
||
|
||
# ── Обогащение и геокодирование (ходят в tradein-backend) ───────────────────
|
||
0 5 * * * cd /opt/gendesign/tradein-mvp && docker exec tradein-backend python -m scripts.backfill_houses_dadata --limit 100 --priority both >> /opt/gendesign/logs/dadata-backfill.log 2>&1
|
||
30 5 * * * cd /opt/gendesign/tradein-mvp && docker exec tradein-backend python -m scripts.geocode_deals_from_houses --limit 50000 >> /opt/gendesign/logs/deals-geocode.log 2>&1
|
||
45 5 * * * cd /opt/gendesign/tradein-mvp && docker exec tradein-backend python -m scripts.geocode_deals_nominatim --limit 5000 >> /opt/gendesign/logs/deals-nominatim.log 2>&1
|
||
|
||
# ── Уборка докера ───────────────────────────────────────────────────────────
|
||
# СВОЯ запись, не «переехавшая»: на Beget она чистит тома CI-раннеров, здесь —
|
||
# образы продуктового стека. Нужны обе, на обоих хостах.
|
||
0 4 * * 0 bash /opt/gendesign/ops/docker-prune.sh >> /opt/gendesign/logs/docker-prune.log 2>&1
|
||
|
||
# ── Логи: /opt/gendesign/logs, а не /tmp ────────────────────────────────────
|
||
# На Beget половина записей писала в /tmp — он чистится при перезагрузке, и
|
||
# именно поэтому историю отказов бэкапов там восстановить не удавалось.
|
||
# Каталог создать до установки crontab: mkdir -p /opt/gendesign/logs
|
||
#
|
||
# ── ЧЕГО ЗДЕСЬ НЕТ ──────────────────────────────────────────────────────────
|
||
# backup-forgejo.sh + его сторож — Forgejo остаётся на Beget
|
||
# (см. ops/crontab-beget.cron)
|