fix(ops): бэкапы — +x на deploy-скриптах при деплое tradein, тихий s3 cp (#3005) #3019

Merged
bot-backend merged 1 commit from fix/3005-backup-cron-bash into main 2026-08-21 10:35:11 +00:00
Collaborator

Summary

  • На хосте (уже сделано 21.08, вне PR): обе cron-строки бэкапов переведены на bash <path> — и tradein, и основной ops/backup.sh: вопреки постановке и комментарию в deploy.yml:539, он тоже вызывался сырым путём (crontab -l показывал 30 3 * * * /opt/gendesign/ops/backup.sh). Копия старого crontab: ~/crontab.bak.20260821.
  • deploy-tradein.yml: chmod +x deploy/*.sh после chmod 600 .env.runtime — вторая линия по образцу deploy.yml:541 (ops/*.sh, #71).
  • Оба скрипта: aws s3 cp --no-progress — без флага в лог летит ~300 строк прогресса за прогон, итоговые строки за ними не видно.
  • Шапка backup-tradein-db.sh: cron-пример через bash, честное время (04:30 по хосту = 01:30 UTC, а не «04:30 UTC»).

Test plan

  • bash -n обоих скриптов; YAML валиден; scripts/check-workflow-ports.py зелёный.
  • Ближайшие cron-прогоны после правки: основной 22.08 00:30 UTC, tradein 22.08 01:30 UTC → в логах строки Backup done / backup ok, и прогресса Completed N MiB больше нет.
  • После деплоя: ls -l /opt/gendesign/tradein-mvp/deploy/*.sh — все +x.

Refs #3005

## Summary - **На хосте (уже сделано 21.08, вне PR):** обе cron-строки бэкапов переведены на `bash <path>` — и tradein, и **основной `ops/backup.sh`**: вопреки постановке и комментарию в `deploy.yml:539`, он тоже вызывался сырым путём (`crontab -l` показывал `30 3 * * * /opt/gendesign/ops/backup.sh`). Копия старого crontab: `~/crontab.bak.20260821`. - `deploy-tradein.yml`: `chmod +x deploy/*.sh` после `chmod 600 .env.runtime` — вторая линия по образцу `deploy.yml:541` (`ops/*.sh`, #71). - Оба скрипта: `aws s3 cp --no-progress` — без флага в лог летит ~300 строк прогресса за прогон, итоговые строки за ними не видно. - Шапка `backup-tradein-db.sh`: cron-пример через `bash`, честное время (04:30 по хосту = 01:30 UTC, а не «04:30 UTC»). ## Test plan - [x] `bash -n` обоих скриптов; YAML валиден; `scripts/check-workflow-ports.py` зелёный. - [ ] Ближайшие cron-прогоны после правки: основной **22.08 00:30 UTC**, tradein **22.08 01:30 UTC** → в логах строки `Backup done` / `backup ok`, и прогресса `Completed N MiB` больше нет. - [ ] После деплоя: `ls -l /opt/gendesign/tradein-mvp/deploy/*.sh` — все +x. Refs #3005
bot-backend added 1 commit 2026-08-21 10:14:07 +00:00
fix(ops): бэкапы — +x на deploy-скриптах при деплое tradein, тихий s3 cp (#3005)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI / changes (pull_request) Successful in 10s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 1m57s
CI / backend-tests (pull_request) Successful in 18m1s
c7263b4088
Почему: cron на проде звал оба бэкап-скрипта сырым путём (и tradein, и —
вопреки комментарию в deploy.yml — основной ops/backup.sh), то есть
держался только на git-режиме файла; потеря бита = молчаливый отказ
бэкапа, как в #71. Cron-строки переведены на `bash <path>` на самом
хосте (21.08, копия старого crontab ~/crontab.bak.20260821); здесь —
вторая линия защиты по образцу deploy.yml:541 и честная шапка скрипта.

Попутно: `aws s3 cp` без --no-progress пишет в лог по ~300 строк
прогресса за каждый прогон (/tmp/tradein-backup.log), за ними не видно
итоговых строк — убрано в обоих скриптах.

Refs #3005
bot-backend merged commit 95db3f44c8 into main 2026-08-21 10:35:11 +00:00
bot-backend deleted branch fix/3005-backup-cron-bash 2026-08-21 10:35:11 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#3019
No description provided.