====== 21.12.2024 - Rocrail - Update und Backup via Skript - Teil 6 der Testumgebung ======
[[https://youtu.be/d2TNBloWCgw|{{:modelleisenbahn:20241221-rocrail-backup-update.jpg?300|}}]]
\\
\\
Im 6. Teil werden wir nun ein Skript einrichten, dass uns eine Sicherung von Rocrail anlegt und anschließend automatisch das neuste Update von Rocrail einspielt. Möchtet Ihr dies lieber manuell tun, geht Ihr wie bei der Installation vor und überschreibt die vorhandene Installation. Die Datei zur Erstellung der Desktop-Vernknüpfung **desktoplin.sh** braucht ihr **NICHT** nochmals auszuführen. \\
**Hinweis** \\
Macht vorher eine Sicherung Eures **Rocrail-Ordners**. \\
\\
Sieht man sich das Skript das erste mal an, erscheint es einem relativ mächtig. Aber keine Sorge, das meiste sind einfach nur Erläuterungen, was im jeweiligen Schritt ausgeführt wird. \\
\\
**Hinweis** \\
Hierbei handelt es sich natürlich um kein richtiges Backup, da es auf der lokalen Festplatte erstellt wird. Wenn Ihr vor Datenverlust geschützt sein möchtet, solltet Ihr die erstellten Sicherungen regelmäßig auf unterschiedliche externe Datenträger speichern. \\
\\
Das Herunterladen und Einrichten des Skriptes erfolgt via Konsole. Diese öffnen wir entweder über das Menü ** "Anwendungen / Systemwerkzeuge / MATE-Terminal" ** oder die Tastenkombination ** + + t **. \\
\\
===== Vorbereitung =====
Zuerst wechseln wir in unser **Home-Verzeichnis** und laden uns das Skript von meiner Seite herunter: \\
\\
cd \\
wget -O rrupdate.sh https://roba-moba.de/rrupdate.sh.txt
\\
Der Aufmerksame Leser wird vielleicht bemerken, dass sich dieser Befehl vom herunterladen von Rocrail unterscheidet. Die Option **-O rrupdate.sh** vergibt der heruntergeladenen Datei gleich den richtigen Namen und entfernt die Erweiterung **.txt**. Ich habe die Datei als TXT-Datei auf meinem Server abgelegt, damit Ihr Euch den Inhalt vor dem Download auch anschauen könnt. \\
\\
Um das Skript nutzen zu können, müssen wir die benötigten Rechte anpassen und unserem Benutzer die Möglichkeit geben dieses auszuführen: \\
\\
chmod u+x rrupdate.sh \\
\\
===== Ausführen =====
Anschließend können wir das Skript ausführen \\
\\
./rrupdate.sh \\
\\
Wenn Ihr nicht jedes mal auf die Konsole wechseln wollt, funktioniert das Ganze auch über den **Datei-Explorer** \\
\\
{{:modelleisenbahn:dateiexplorer.png?400|}} \\
\\
Hierzu macht Ihr einen **Doppelklick** auf die Datei **rrupdate.sh (1)** und wählt **Im Terminal ausführen (2)** aus. \\
\\
===== Backup zurückspielen =====
Das Backup könnt Ihr wie folgt zurückspielen. \\
\\
Öffnet eine Konsole und wechsel in das Backup-Verzeichnis. \\
\\
cp -r ~/rr-backup/home//rocrail ~ \\
cd ~/rr-backup \\
\\
Dort entpackt Ihr das Archiv mit: \\
\\
tar -xf \\
z.B. tar -xf rr-backup-20241214-17_08_07.tar \\
\\
Anschließend kopiert Ihr den **rocrail-Ordner** einfach über die bestehende Installation \\
\\
**Achtung** \\
Rocrail muss beendet sein! \\
cp -r ~/rr-backup/home//rocrail ~ \\
z.B. cp -r ~/rr-backup/home/rsb/rocrail ~ \\
\\
Im Video zeige ich euch auch noch die Variante via Desktop. \\
\\
===== Anpassbare Variablen =====
Das Skript enthält ein paar wenige anpassbare Variablen. Auf diese werde ich hier kurz eingehen. \\
\\
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
### 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"
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
\\
| **Variable** | **Erklärung** |
| ANZAHL="10" | Hier wird festgelegt, wie viele Backups gespeichert bleiben, bevor das älteste gelöscht wird. Diesen Wert könnt Ihr beliebig wählen, solltet aber aufpassen, dass nicht irgendwann Eure Festplatte vollläuft. |
| RRLINK | Hierbei handelt es sich um den Downloadlink von Rocrail (siehe auch [[modelleisenbahn:testanlage-06-rocrail-konsole]]), z.B. (RRLINK="https://wiki.rocrail.net/rocrail-snapshot/Debian/Rocrail-debian11-i64.zip"). Dieser wird sich ggf. einmal ändern und muss dann hier ersetzt werden. |
| RRDATEI | Genauso wie beim Downloadlink, verhält es sich beim Dateinamen, dieser muss ggf. angepasst werden. |
Wie Ihr die Inhalte am besten ändert, zeige ich Euch im Video.\\
\\
===== Das Skript =====
\\
Das Skript zum Download findet Ihr unter https://roba-moba.de/rrupdate.sh.txt \\
Im Video werde ich mit Euch Schritt für Schritt das Skript durchgehen. \\
\\
#!/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
#################################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
\\
----
===== Fazit =====
Geht einfach ruhig an die Sache ran, dann funktioniert das Ganze auch. Vergesst nicht, vorab eine Sicherung Eures Rocrail-Ordners anzulegen. Sollte ihr auf Probleme stoßen, könnt ihr diesen einfach wieder zurückspielen. \\
\\
Die Grundinstallation von Eurem Linux MoBa-Rechner und Rocrail ist nun abgeschlossen. Nun können wir mit der Einrichtung von Rocrail beginnen.\\
\\
=== Das Video ===
Im Video werde ich die Vorgehensweise nochmal Schritt für Schritt mit Euch durchgehen und Euch auch das Skript erläutern.\\
\\
Euer Robert von RoBa-MoBa\\
\\
Zum Beitrag auf YouTube: https://youtu.be/d2TNBloWCgw
{{youtube>d2TNBloWCgw?medium}}
\\
\\
~~~ Verwendetes Zubehör (Partnerlinks) ~~~ \\
Dell Optiplex Desktoprechner - https://amzn.to/3XN9BNL \\
Crucial SSD - https://amzn.to/3N3lOZy \\
Dell Monitore - https://amzn.to/3XGDDmd \\
\\
\\
----
{{page>impressum:ausschluss#Haftungsausschluss}}
~~DISCUSSION~~