#!/usr/bin/env bash # Офсайт-копия прод-бэкапов на ДРУГОЙ хост (dev-vm 192.168.1.193). Запускается # НА dev-vm по таймеру: тянет последний daily-дамп прода (prod-vm) сюда, хранит 30 дн. # Направление dev→prod (рабочий SSH). Это «другая VM» для DR. set -uo pipefail PROD_HOST="${PROD_HOST:-nns@192.168.1.190}" PROD_BACKUP_DIR="${PROD_BACKUP_DIR:-/opt/food-market-data/backups/daily}" DEST="${FM_OFFSITE_LOCAL:-$HOME/fm-prod-backups}" RET_DAYS="${FM_OFFSITE_RETENTION_DAYS:-30}" mkdir -p "$DEST" latest=$(ssh -o StrictHostKeyChecking=no "$PROD_HOST" "ls -t $PROD_BACKUP_DIR/db-*.dump 2>/dev/null | head -1" 2>/dev/null) [ -n "$latest" ] || { echo "[offsite] нет daily-дампов на проде"; exit 1; } base=$(basename "$latest") if [ -f "$DEST/$base" ]; then echo "[offsite] уже есть: $base"; else scp -o StrictHostKeyChecking=no "$PROD_HOST:$latest" "$DEST/" && echo "[offsite] скопирован $base → $DEST" fi find "$DEST" -maxdepth 1 -name 'db-*.dump' -mtime +"$RET_DAYS" -print -delete echo "[offsite] готово ($(ls "$DEST"/db-*.dump 2>/dev/null | wc -l) копий)"