Files
homelab-docs/scripts/backup-etc-pve.sh

24 lines
886 B
Bash

#!/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