#!/usr/bin/env bash # Создаёт архив переноса: БД (dump) + фотографии (uploads). # Использование: ./scripts/backup.sh set -euo pipefail cd "$(dirname "$0")/.." STAMP=$(date +%Y%m%d-%H%M%S) mkdir -p backups echo ">> Экспорт БД" docker compose exec -T db pg_dump -U app -d whereldo | gzip > backups/db.sql.gz echo ">> Экспорт файлов из хранилища" rm -rf backups/_uploads mkdir -p backups/_uploads docker compose exec -T app rm -rf /tmp/whatido-export docker compose exec -T app node scripts/storage-sync.js export /tmp/whatido-export docker cp "whatido-app-1:/tmp/whatido-export/." "backups/_uploads/" docker compose exec -T app rm -rf /tmp/whatido-export rm -rf backups/_uploads/.thumbs echo ">> Сборка архива" tar -czf "backups/whatido-backup-$STAMP.tar.gz" -C backups db.sql.gz _uploads rm -rf backups/_uploads backups/db.sql.gz echo "Готово: backups/whatido-backup-$STAMP.tar.gz"