Initial
This commit is contained in:
parent
c094989785
commit
f0f8660be2
59
proxmox-backup-script.sh
Normal file
59
proxmox-backup-script.sh
Normal file
@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
# Script Name: proxmox-backup-script.sh
|
||||
# Beschreibung: Macht ein Backup aller Proxmox Konfigurationen und speichert sie an den Ort der Wahl
|
||||
# Aufruf: ./bash proxmox-backup-script.sh
|
||||
# Autor: Patrick Asmus
|
||||
# Web: https://www.media-techport.de
|
||||
# Git-Reposit.: https://git.media-techport.de/scriptos/backup-script-collection
|
||||
# Version: 1.0
|
||||
# Datum: 24.09.2023
|
||||
# Modifikation: Neuerstellung
|
||||
#####################################################
|
||||
|
||||
# Variablen
|
||||
BACKUP_DIR="/home/backups/pve"
|
||||
NUM_BACKUPS_TO_KEEP=5
|
||||
EMAIL_ADDRESS="system@media-techport.de"
|
||||
|
||||
LOGDIR="/var/log/script-logs"
|
||||
DATE=$(date +%Y%m%d%H%M%S)
|
||||
BACKUP_FILE="proxmox_backup_$DATE.tar.gz"
|
||||
LOG_FILE="$LOGDIR/proxmox_backup_$DATE.log"
|
||||
|
||||
# Globale Funktionen
|
||||
PROXMOX_DIRS_AND_CONFIG=(
|
||||
"etc/pve/"
|
||||
"var/lib/vz/"
|
||||
"var/lib/qemu-server/"
|
||||
"etc/network/interfaces"
|
||||
"etc/network/interfaces.d/"
|
||||
)
|
||||
|
||||
# Script
|
||||
mkdir -p "$LOGDIR"
|
||||
exec > >(tee -a "$LOG_FILE") 2>&1
|
||||
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
# Erstelle Backup der Proxmox Konfigurationen
|
||||
echo "Sichere Proxmox-Verzeichnisse und Konfigurationen..."
|
||||
tar czf "$BACKUP_DIR/$BACKUP_FILE" -C / "${PROXMOX_DIRS_AND_CONFIG[@]}"
|
||||
|
||||
# Prüfen, ob das Backup erfolgreich erstellt wurde
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Proxmox-Backup wurde erfolgreich unter $BACKUP_DIR/$BACKUP_FILE erstellt."
|
||||
|
||||
# Alte Backups bereinigen, wenn die Anzahl der aufzubewahrenden Backups überschritten ist
|
||||
while [ $(ls -1 "$BACKUP_DIR" | wc -l) -gt $NUM_BACKUPS_TO_KEEP ]; do
|
||||
OLD_BACKUP=$(ls -1t "$BACKUP_DIR" | tail -n 1)
|
||||
rm -f "$BACKUP_DIR/$OLD_BACKUP"
|
||||
echo "Ältestes Backup ($OLD_BACKUP) wurde gelöscht."
|
||||
done
|
||||
else
|
||||
echo "Fehler beim Erstellen des Backups. Eine Benachrichtigung wird gesendet."
|
||||
|
||||
# E-Mail-Benachrichtigung senden
|
||||
SUBJECT="Backup der Proxmox Konfigurations auf <${HOSTNAME}> fehlgeschlagen"
|
||||
MESSAGE="Fehler beim Erstellen des Backups der Konfiguration auf ${HOSTNAME}. Bitte prüfen!"
|
||||
echo "$MESSAGE" | mail -s "$SUBJECT" "$EMAIL_ADDRESS"
|
||||
fi
|
Loading…
Reference in New Issue
Block a user