first commit
This commit is contained in:
42
backup2home.sh
Executable file
42
backup2home.sh
Executable file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Variablen
|
||||||
|
REPO="ssh://stefan@172.25.28.34:22/srv/usbplatte/nauheim1vps"
|
||||||
|
SOURCE="/home/stefan"
|
||||||
|
EXCLUDES=(
|
||||||
|
"/home/stefan/docker/privatebin"
|
||||||
|
"/home/stefan/docker/psitransfer"
|
||||||
|
"/home/stefan/docker/tautulli/config/cache/images"
|
||||||
|
"/home/stefan/docker/resiliosync/sync"
|
||||||
|
"/home/stefan/docker/resiliosync/cache"
|
||||||
|
"/home/stefan/docker/komga/database.sqlite"
|
||||||
|
"/home/stefan/docker/komga/logs"
|
||||||
|
"/home/stefan/docker/komga/lucene"
|
||||||
|
"/home/stefan/syncthing/sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
BACKUP_NAME="backup-$(date +%Y-%m-%d_%H-%M-%S)"
|
||||||
|
GOTIFY_URL="https://gotify.nauheimtech.de"
|
||||||
|
GOTIFY_TOKEN=${GOTIFY_PW}
|
||||||
|
|
||||||
|
# Backup starten
|
||||||
|
echo "===== Backup gestartet: $(date) ====="
|
||||||
|
borg create --stats --progress "$REPO::$BACKUP_NAME" "$SOURCE" \
|
||||||
|
$(printf -- '--exclude=%s ' "${EXCLUDES[@]}")
|
||||||
|
BACKUP_EXIT=$?
|
||||||
|
|
||||||
|
# Falls das Backup fehlschlägt, Nachricht an Gotify senden
|
||||||
|
if [ $BACKUP_EXIT -ne 0 ]; then
|
||||||
|
MESSAGE="Backup fehlgeschlagen: $BACKUP_NAME"
|
||||||
|
PRIORITY=10
|
||||||
|
echo "FEHLER: Backup fehlgeschlagen ($BACKUP_NAME) am $(date)"
|
||||||
|
curl -s -X POST "$GOTIFY_URL/message" \
|
||||||
|
-H "X-Gotify-Key: $GOTIFY_TOKEN" \
|
||||||
|
-d "title=Backup Fehler&message=$MESSAGE&priority=$PRIORITY"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Alte Backups bereinigen
|
||||||
|
echo "===== Alte Backups bereinigen: $(date) ====="
|
||||||
|
borg prune --keep-hourly=12 --keep-daily=7 --keep-weekly=4 --keep-monthly=6 "$REPO"
|
||||||
|
|
||||||
|
echo "===== Backup abgeschlossen: $(date) ====="
|
||||||
54
borg_info_anzeigen.sh
Executable file
54
borg_info_anzeigen.sh
Executable file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Setze Backup-Parameter
|
||||||
|
REPO="ssh://stefan@172.25.28.34:22/srv/usbplatte/nauheim1vps"
|
||||||
|
clear
|
||||||
|
|
||||||
|
# Funktion, um Informationen anzuzeigen
|
||||||
|
function show_repo_info() {
|
||||||
|
echo "Repository-Informationen abrufen..."
|
||||||
|
borg info $REPO
|
||||||
|
}
|
||||||
|
|
||||||
|
function list_archives() {
|
||||||
|
echo "Verfügbare Archive im Repository:"
|
||||||
|
borg list $REPO
|
||||||
|
}
|
||||||
|
|
||||||
|
function show_archive_details() {
|
||||||
|
echo "Details zu einem bestimmten Archiv:"
|
||||||
|
read -p "Gib den Namen des Archivs ein: " ARCHIVE
|
||||||
|
borg info $REPO::$ARCHIVE
|
||||||
|
}
|
||||||
|
|
||||||
|
# Hauptskript: Wiederhole das Menü, solange der Nutzer nicht "Beenden" wählt
|
||||||
|
while true; do
|
||||||
|
echo "Was möchtest du tun?"
|
||||||
|
echo "1) Repository-Informationen anzeigen"
|
||||||
|
echo "2) Liste aller Archive anzeigen"
|
||||||
|
echo "3) Details zu einem bestimmten Archiv anzeigen"
|
||||||
|
echo "4) Beenden"
|
||||||
|
read -p "Wähle eine Option (1-4): " OPTION
|
||||||
|
|
||||||
|
case $OPTION in
|
||||||
|
1)
|
||||||
|
show_repo_info
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
list_archives
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
show_archive_details
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
echo "Beende das Skript."
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Ungültige Eingabe. Bitte wähle eine Option zwischen 1 und 4."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Warte kurz, bevor das Menü erneut angezeigt wird
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
16
restorefromhome.sh
Executable file
16
restorefromhome.sh
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Variablen
|
||||||
|
REPO="ssh://stefan@172.25.28.34:22/srv/usbplatte/nauheim1vps"
|
||||||
|
MOUNT_POINT="/home/stefan/restore"
|
||||||
|
|
||||||
|
# Sicherstellen, dass das Mount-Verzeichnis existiert
|
||||||
|
mkdir -p $MOUNT_POINT
|
||||||
|
|
||||||
|
# Repository mounten
|
||||||
|
borg mount $REPO $MOUNT_POINT
|
||||||
|
|
||||||
|
echo "Das Backup-Repository wurde erfolgreich in $MOUNT_POINT gemountet."
|
||||||
|
|
||||||
|
# Zum Unmounten später den folgenden Befehl nutzen:
|
||||||
|
# borg umount $MOUNT_POINT
|
||||||
Reference in New Issue
Block a user