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:
42
scripts/backup-vps-mtproto.sh
Normal file
42
scripts/backup-vps-mtproto.sh
Normal 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
|
||||
Reference in New Issue
Block a user