Enhance backup documentation for Proxmox and VPS configurations. Add details for MTProto proxy setup on VPS, clarify backup processes for Immich photos, and update restic backup scripts to exclude photo directories. Include test recovery results and refine instructions for restoring various services and configurations.

This commit is contained in:
2026-02-26 23:06:02 +03:00
parent feaa31f702
commit 56cee83198
10 changed files with 727 additions and 20 deletions

View File

@@ -0,0 +1,42 @@
#!/bin/bash
# Бэкап конфигов MTProto + сайт-заглушка с VPS Германия (185.103.253.99).
# Запускать на хосте Proxmox под root.
# Требуется: SSH без пароля с хоста к root@185.103.253.99 (ключ в ~/.ssh).
# Результат: /mnt/backup/vps/mtproto-germany/mtproto-config-YYYYMMDD-HHMM.tar.gz
set -e
VPS_HOST="185.103.253.99"
VPS_USER="root"
SSH_OPTS=(-o ConnectTimeout=15 -o BatchMode=yes)
BACKUP_ROOT="/mnt/backup/vps/mtproto-germany"
RETENTION_DAYS=14
if [ "$(id -u)" -ne 0 ]; then
echo "Запускайте под root."
exit 1
fi
mkdir -p "$BACKUP_ROOT"
DATE=$(date +%Y%m%d-%H%M)
ARCHIVE="$BACKUP_ROOT/mtproto-config-$DATE.tar.gz"
# Проверка доступа к VPS
if ! ssh "${SSH_OPTS[@]}" "${VPS_USER}@${VPS_HOST}" "echo ok" >/dev/null 2>&1; then
echo "Ошибка: нет доступа по SSH к ${VPS_USER}@${VPS_HOST}. Настройте ключ: ssh-copy-id ${VPS_USER}@${VPS_HOST}"
exit 1
fi
# Архив с VPS: mtg, nginx, letsencrypt (katykhin.store), статика сайта
ssh "${SSH_OPTS[@]}" "${VPS_USER}@${VPS_HOST}" "tar -chzf - -C / \
etc/systemd/system/mtg.service \
etc/nginx/sites-available \
etc/nginx/sites-enabled \
etc/letsencrypt/live/katykhin.store \
etc/letsencrypt/archive/katykhin.store \
etc/letsencrypt/renewal/katykhin.store.conf \
var/www/katykhin.store" > "$ARCHIVE"
chmod 600 "$ARCHIVE"
echo "Бэкап MTProto (VPS DE): $ARCHIVE ($(du -h "$ARCHIVE" | cut -f1))"
find "$BACKUP_ROOT" -name 'mtproto-config-*.tar.gz' -mtime +$RETENTION_DAYS -delete