Compare commits
6 Commits
e74fae10df
...
feature
| Author | SHA1 | Date | |
|---|---|---|---|
| 5bd4874f2e | |||
| 61ba6f95ae | |||
| 90c978b944 | |||
| d090f5822f | |||
| afab977f61 | |||
| 3e32af6954 |
@@ -1,34 +1,64 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Setze Backup-Parameter
|
||||
REPO="ssh://stefan@172.25.28.34:22/srv/usbplatte/nauheim1vps"
|
||||
clear
|
||||
|
||||
# Funktion, um Informationen anzuzeigen
|
||||
# Repository auswählen – jetzt noch breiter!
|
||||
REPO_OPTION=$(whiptail --title "Backup Repository auswählen" --menu "Wähle ein Repository oder gib eine eigene Adresse ein:" 20 120 2 \
|
||||
"1" "Standard: ssh://stefan@172.25.28.34:22/srv/usbplatte/nauheim1vps" \
|
||||
"2" "Eigene Eingabe" 3>&1 1>&2 2>&3)
|
||||
|
||||
if [ "$REPO_OPTION" == "1" ]; then
|
||||
REPO="ssh://stefan@172.25.28.34:22/srv/usbplatte/nauheim1vps"
|
||||
else
|
||||
REPO=$(whiptail --inputbox "Gib das Repository ein:" 10 120 --title "Benutzerdefiniertes Repository" 3>&1 1>&2 2>&3)
|
||||
fi
|
||||
|
||||
# Frage die Passphrase einmal ab
|
||||
PASSPHRASE=$(whiptail --passwordbox "Bitte gib die Passphrase für das Borgbackup-Repository ein:" 10 120 --title "Borg Backup" 3>&1 1>&2 2>&3)
|
||||
export BORG_PASSPHRASE="$PASSPHRASE"
|
||||
|
||||
# Funktion, um Informationen in einer scrollbaren Anzeige auszugeben
|
||||
function show_repo_info() {
|
||||
echo "Repository-Informationen abrufen..."
|
||||
borg info $REPO
|
||||
borg info "$REPO" > /tmp/repo_info.txt 2>&1
|
||||
dialog --title "Repository-Informationen" --backtitle "Borg Backup" --scrollbar --textbox /tmp/repo_info.txt 25 240
|
||||
rm /tmp/repo_info.txt
|
||||
}
|
||||
|
||||
function list_archives() {
|
||||
echo "Verfügbare Archive im Repository:"
|
||||
borg list $REPO
|
||||
borg list "$REPO" > /tmp/archive_list.txt 2>&1
|
||||
dialog --title "Verfügbare Archive" --backtitle "Borg Backup" --scrollbar --textbox /tmp/archive_list.txt 25 240
|
||||
rm /tmp/archive_list.txt
|
||||
}
|
||||
|
||||
function show_archive_details() {
|
||||
echo "Details zu einem bestimmten Archiv:"
|
||||
read -p "Gib den Namen des Archivs ein: " ARCHIVE
|
||||
borg info $REPO::$ARCHIVE
|
||||
ARCHIVES=$(borg list "$REPO" | awk '{print $1}')
|
||||
|
||||
if [ -z "$ARCHIVES" ]; then
|
||||
whiptail --msgbox "Keine Archive gefunden!" 10 120 --title "Fehler"
|
||||
return
|
||||
fi
|
||||
|
||||
OPTIONS=()
|
||||
while read -r line; do
|
||||
OPTIONS+=("$line" " ")
|
||||
done <<< "$ARCHIVES"
|
||||
|
||||
ARCHIVE=$(whiptail --title "Archiv auswählen" --menu "Wähle ein Archiv aus" 20 120 10 "${OPTIONS[@]}" 3>&1 1>&2 2>&3)
|
||||
|
||||
if [ -n "$ARCHIVE" ]; then
|
||||
borg info "$REPO::$ARCHIVE" > /tmp/archive_info.txt 2>&1
|
||||
dialog --title "Details zu Archiv $ARCHIVE" --backtitle "Borg Backup" --scrollbar --textbox /tmp/archive_info.txt 25 240
|
||||
rm /tmp/archive_info.txt
|
||||
fi
|
||||
}
|
||||
|
||||
# Hauptskript: Wiederhole das Menü, solange der Nutzer nicht "Beenden" wählt
|
||||
# Hauptmenü mit Whiptail
|
||||
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
|
||||
OPTION=$(whiptail --title "Borg Backup Menü" --menu "Wähle eine Option" 20 120 4 \
|
||||
"1" "Repository-Informationen anzeigen" \
|
||||
"2" "Liste aller Archive anzeigen" \
|
||||
"3" "Details zu einem bestimmten Archiv anzeigen" \
|
||||
"4" "Beenden" 3>&1 1>&2 2>&3)
|
||||
|
||||
case $OPTION in
|
||||
1)
|
||||
@@ -41,14 +71,9 @@ while true; do
|
||||
show_archive_details
|
||||
;;
|
||||
4)
|
||||
echo "Beende das Skript."
|
||||
clear
|
||||
whiptail --msgbox "Beende das Skript." 10 120 --title "Borg Backup"
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user