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