#!/bin/bash # Бэкап /etc/pve и конфигов хоста (interfaces, hosts, resolv.conf). # Запускать на хосте Proxmox под root. Cron: 0 3 * * * (после основного backup job в 02:00). set -e BACKUP_ROOT="/mnt/backup/proxmox/etc-pve" RETENTION_DAYS=30 if [ "$(id -u)" -ne 0 ]; then echo "Запускайте под root." exit 1 fi mkdir -p "$BACKUP_ROOT" DATE=$(date +%Y%m%d-%H%M) tar -czf "$BACKUP_ROOT/etc-pve-$DATE.tar.gz" -C / etc/pve tar -czf "$BACKUP_ROOT/etc-host-configs-$DATE.tar.gz" -C / etc/network/interfaces etc/hosts etc/resolv.conf 2>/dev/null || true chmod 600 "$BACKUP_ROOT"/etc-pve-*.tar.gz "$BACKUP_ROOT"/etc-host-configs-*.tar.gz 2>/dev/null || true find "$BACKUP_ROOT" -name 'etc-pve-*.tar.gz' -mtime +$RETENTION_DAYS -delete find "$BACKUP_ROOT" -name 'etc-host-configs-*.tar.gz' -mtime +$RETENTION_DAYS -delete NOTIFY_SCRIPT="${NOTIFY_SCRIPT:-/root/scripts/notify-telegram.sh}" if [ -x "$NOTIFY_SCRIPT" ]; then SIZE=$(du -sh "$BACKUP_ROOT" 2>/dev/null | cut -f1) || true BODY="Резервное копирование завершено. Объекты: архивы /etc/pve, конфиги сети (interfaces, hosts, resolv.conf). Размер копии: ${SIZE:-—}." "$NOTIFY_SCRIPT" "⚙️ Конфиги хоста" "$BODY" || true fi