From c90af8f58f2b35611d0338ff8afe3e8463b2d8d5 Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 1 Mar 2026 19:05:38 +0100 Subject: [PATCH] docs(Proxmox): Backupstrategie --- .../{ => hetzner}/seanluc1_backup.md | 0 .../proxmox/backup_pve_configs.sh | 73 +++++++++++++++++++ .../{ => proxmox}/proxmox_backup.md | 12 ++- .../christian-linux_backup.md | 0 docs/proxmox/proxmox.md | 8 ++ mkdocs.yml | 4 +- 6 files changed, 92 insertions(+), 5 deletions(-) rename docs/backup_restore/{ => hetzner}/seanluc1_backup.md (100%) create mode 100644 docs/backup_restore/proxmox/backup_pve_configs.sh rename docs/backup_restore/{ => proxmox}/proxmox_backup.md (78%) rename docs/backup_restore/{ => workstations}/christian-linux_backup.md (100%) diff --git a/docs/backup_restore/seanluc1_backup.md b/docs/backup_restore/hetzner/seanluc1_backup.md similarity index 100% rename from docs/backup_restore/seanluc1_backup.md rename to docs/backup_restore/hetzner/seanluc1_backup.md diff --git a/docs/backup_restore/proxmox/backup_pve_configs.sh b/docs/backup_restore/proxmox/backup_pve_configs.sh new file mode 100644 index 0000000..f0c0089 --- /dev/null +++ b/docs/backup_restore/proxmox/backup_pve_configs.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +BACKUP_DIR="/mnt/storagebox-nocrypt/pve-configs-backup" +TODAY=$(date +%T_%F)-pve-configs-backup +LOGFILE="pve-backup.log" + +mkdir -p "$BACKUP_DIR/$TODAY" + +FILES=( + "/root/" + "/etc/pve/" + "/etc/network/interfaces" + "/etc/hosts" + "/etc/resolv.conf" + "/etc/hostname" + "/etc/timezone" + "/etc/passwd" + "/etc/group" + "/etc/shadow" + "/root/.ssh/" + "/etc/vzdump.conf" + "/etc/ssh/sshd_config" + "/var/lib/pve-cluster/" + "/etc/ssh/" + "/etc/cron.d/" + "/etc/cron.daily/" + "/etc/cron.hourly/" + "/etc/cron.weekly/" + "/etc/cron.monthly/" + "/var/spool/cron/" + "/etc/fstab" + "/etc/default/" + "/etc/apt/sources.list" + "/etc/apt/sources.list.d/" + "/var/log/" + "/etc/systemd/" + "/etc/sysctl.conf" + "/etc/security/" + "/var/backups/" + "/etc/fail2ban/" + "/root/backup-pve-configs.sh" +) + +EXCLUDE_DIRS=( + "/mnt/storagebox-crypt" + "/mnt/storagebox-nocrypt" + "/var/lib/vz/images/" + "/var/lib/lxc/" + "/var/lib/vz/private/" + "/var/lib/lxcfs/" +) + +# rsync-Ausschlussparameter erstellen +EXCLUDE_PARAMS=() +for EXCLUDE in "${EXCLUDE_DIRS[@]}"; do + EXCLUDE_PARAMS+=(--exclude="$EXCLUDE") +done + +for FILE in "${FILES[@]}"; do + if [ -e "$FILE" ]; then + echo "Kopiere $FILE..." + rsync -aL --relative --ignore-missing-args --safe-links "${EXCLUDE_PARAMS[@]}" "$FILE" "$BACKUP_DIR/$TODAY/" 2>/dev/null + else + echo "Warnung: $FILE existiert nicht und wird uebersprungen." >> ${LOGFILE} + fi +done + +find "$BACKUP_DIR" -mindepth 1 -maxdepth 1 -type d -mtime +14 -exec rm -rf {} \; + +echo "Backup fuer $TODAY abgeschlossen." >> ${LOGFILE} + + + diff --git a/docs/backup_restore/proxmox_backup.md b/docs/backup_restore/proxmox/proxmox_backup.md similarity index 78% rename from docs/backup_restore/proxmox_backup.md rename to docs/backup_restore/proxmox/proxmox_backup.md index cae5d8c..a484233 100644 --- a/docs/backup_restore/proxmox_backup.md +++ b/docs/backup_restore/proxmox/proxmox_backup.md @@ -1,11 +1,15 @@ # Backup Proxmox ## 1. PVE -- Skript: [/root/backup-pve-configs](/proxmox/backup-pve-configs) +- Skript: /root/backup-pve-configs.sh + +```snippet +--8<-- "/docs/backup_restore/proxmox/backup_pve_configs.sh" +``` - Log: /root/pve-backup.log - Location: verschlüsselt auf hetznerstoragebox gemäß Anleitung https://ralf-peter-kleinert.de/linux-server/proxmox-verschluesselt-backup.html. (Die liegt auch als Anhang im bitwarden) - Scedule: täglich im cron und wird 14 Tage aufgehoben -- ÄNDERUNGEN siehe [/etc/fstab](/proxmox/fstab) +- ÄNDERUNGEN siehe [/etc/fstab](../proxmox/fstab) # 2. Komplette lxc und VMs # - Skript: GUI @@ -21,4 +25,6 @@ //u358899@u358899.your-storagebox.de/backup/./backups/paperless - Scedule: täglich 4:00 für 31 Tage -# 4. VM Homeassistent \ No newline at end of file +# 4. VM Homeassistent + + diff --git a/docs/backup_restore/christian-linux_backup.md b/docs/backup_restore/workstations/christian-linux_backup.md similarity index 100% rename from docs/backup_restore/christian-linux_backup.md rename to docs/backup_restore/workstations/christian-linux_backup.md diff --git a/docs/proxmox/proxmox.md b/docs/proxmox/proxmox.md index 21d1f99..1631eb7 100644 --- a/docs/proxmox/proxmox.md +++ b/docs/proxmox/proxmox.md @@ -40,6 +40,14 @@ UUID=fe878af4-c44e-4ab8-8d81-1efb0391aaf7 /mnt/DockerDaten ext4 defaults 0 ``` ## Backup + +## aktuelles Skript + +```snippet +--8<-- "/docs/docker/wikijs/docker-compose.yml" +``` + + => [Proxmox Backup](../backup_restore/proxmox_backup.md). diff --git a/mkdocs.yml b/mkdocs.yml index cc84f62..e345f57 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -30,8 +30,8 @@ nav: - Backup: - Backup: backup/backup.md - - christian-linux: backup_restore/christian-linux_backup.md - - Proxmox: backup_restore/proxmox_backup.md + - christian-linux: backup_restore/workstations/christian-linux_backup.md + - Proxmox: backup_restore/proxmox/proxmox_backup.md - Storage: backup/storage.md