#!/bin/bash ################################################# # Skript von RoBa-MoBa www.roba-moba.de # # Version 2.0 vom 06.10.2024 # ################################################# ################################################# ###### Variablen definieren #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# ### Anpassbare Variablen # Anzahl vorgehaltener Backups ANZAHL="10" # Link zur Rocrail Datei RRLINK="https://wiki.rocrail.net/rocrail-snapshot/Debian/Rocrail-debian11-i64.zip" RRDATEI="Rocrail-debian11-i64.zip" #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# ### Feste Variablen # Farben festlegen CYAN='\033[1;36m' GELB='\033[1;33m' ROT='\033[1;31m' GRUEN='\033[1;32m' # Ohne Farbe - zuruecksetzen OF='\033[0m' # HOMEVERZEICHNIS # Verwendung von relativen Pfaden HOMEUSER="home/$USER" # Rocrail-Verzeichns RRDIR="/$HOMEUSER/rocrail" # Backupverzeichnis BKDIR="$HOMEUSER/rr-backup" #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# ################################################# ################################################# ##### Vorbereitung #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# ### Bildschirm leeren clear ### Wechsel ins Root-Verzeichnis cd / ### Einleitung echo -e "$CYAN Willkommen zum Rocrail-Backup-Skript $OF" echo -e "" echo -e "$CYAN Die Anleitung findest Du unter https://roba-moba.de $OF" echo -e "" echo -e "$GELB Aktuelle Einstellungen $OF" echo -e "$CYAN Anzahl vorgehaltener Backups $GELB $ANZAHL $OF" echo -e "$CYAN Verwendete Rocrail-Datei $GELB $RRDATEI $OF" echo -e "$CYAN Verwendeter Download Link $GELB $RRLINK $OF" echo echo echo -e "$ROT WARNUNG UND HINWEIS $OF" echo echo -e "$GRUEN Das Skript wurde mit äußerster Vorsicht entwickelt und basiert auf der Basis der Anleitungen auf roba-moba.de. $OF" echo echo -e "$GELB Die Verwendung erfolgt auf eigene Gefahr und wir übernehmen keine Haftung für Schäden. Vor der Nutzung, empfehlen wir ein Backup auf einem externen Datenträger. $OF" ### Abfrage ob Rocrail beendet wurde echo echo echo -e "$ROT !!! Achtung !!! ACHTUNG !!! ACHTUNG !!! $OF" echo echo -e "$GELB Rocrail muss vor dem Update beendet werden! $OF" echo -e "Wurde Rocrail beendet? j/n $OF" read RRANTWORT if [[ "$RRANTWORT" == [y,Y,j,J] ]]; then echo -e "$CYAN Rocrail geschlossen, fahre fort. $OF" else clear echo -e "$ROT Rocrail schließen! $OF" echo -e "$GELB Update wird abgebrochen. Bitte nach dem schließen von Rocrail das Update erneut starten. $OF" echo echo exit 1 fi #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# ################################################# ################################################# #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# ##### Backup ### Anlegen eines Backupordners echo echo -e "$GELB Prüfe ob Backupordner vorhanden $OF" if [ ! -d $BKDIR ]; then mkdir $HOMEUSER/rr-backup echo -e "$CYAN Backup-Ordner wurde erstellt $OF" else echo -e "$GRUEN Backup-Ordner bereits vorhanden $OF" fi ### Erstellen eines einfachen Backups echo echo -e "$GELB Erstelle Backup $OF" tar -cf $BKDIR/rr-backup-$(date +%Y%m%d-%H_%M_%S).tar $HOMEUSER/rocrail echo -e "$CYAN Backup wurde erfolgreich erstellt $OF" # Warnhinweis echo -e "$ROT ACHTUNG $OF Bitte sichere die Backups zusätzlich auf einem externen Datenträger" ### Löschen alter Backups # Unter $ANZAHL wird die Menge der vorzuhaltenden Backups definiert echo echo -e "$GELB Folgende alten Backups werden gelöscht $OF" # alte Backups anzeigen LOESCHEN=$(ls -td $BKDIR/* |tail -n +$ANZAHL) echo " $LOESCHEN" # alte Backups löschen ls -td $BKDIR/* |tail -n +$ANZAHL|xargs rm -rf echo -e "$CYAN Alte Backups gelöscht $OF" echo #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# ################################################# ################################################# #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# ##### Rocrail Update # Aktuelle Rocrail-Version ins Verzeichnis /tmp herunterladen cd /tmp echo -e "$GELB Aktuelle Rocrail-Version wird heruntergeladen $OF" echo -e "$GELB Bitte warten $OF" wget -q $RRLINK echo -e "$CYAN Download abgeschlossen $OF" echo # Entpacken der heruntergeladenen Rocrail-Version cd /tmp echo -e "$GELB Rocrail-Version wird entpackt $OF" unzip -q $RRDATEI -d rocrail echo -e "$CYAN Entpacken abgeschlossen $OF" echo # Kopieren der Dateien ins Benutzerverzeichnis echo -e "$GELB Update wird eingespielt $OF" cp -r /tmp/rocrail/bin/* $RRDIR/bin echo -e "$CYAN Update abgeschlossen $OF" echo #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# ################################################# ################################################# #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# ##### Abschluss # Aufräumen echo -e "$GELB Beginne mit dem aufräumen und lösche temporäre Dateien $OF" cd /tmp rm -r /tmp/rocrail rm /tmp/Roc* echo -e "$CYAN Aufräumen abgeschlossen $OF" echo # Ende Update echo echo -e "$GRUEN Das Update wurde erfolgreich durchgeführt $OF" echo -e "$CYAN Rocrail kann nun wieder gestartet werden $OF" echo ################################################# #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#