modelleisenbahn:testanlage-08-rocrail-update-backup-skript

21.12.2024 - Rocrail - Update und Backup via Skript - Teil 6 der Testumgebung



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 <strg> + <alt> + t .

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


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



Hierzu macht Ihr einen Doppelklick auf die Datei rrupdate.sh (1) und wählt Im Terminal ausführen (2) aus.

Das Backup könnt Ihr wie folgt zurückspielen.

Öffnet eine Konsole und wechsel in das Backup-Verzeichnis.

cp -r ~/rr-backup/home/<Euer Benutzername>/rocrail ~
cd ~/rr-backup


Dort entpackt Ihr das Archiv mit:

tar -xf <Euer Backupfile>
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/<Euer Benutzername>/rocrail ~
z.B. cp -r ~/rr-backup/home/rsb/rocrail ~


Im Video zeige ich euch auch noch die Variante via Desktop.

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 14.12.2024 - Rocrail-Installation via Konsole - Teil 5 der Testumgebung), 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 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
#################################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#



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



~~~ Verwendetes Zubehör (Partnerlinks) ~~~
Dell Optiplex Desktoprechner - https://amzn.to/3XN9BNL
Crucial SSD - https://amzn.to/3N3lOZy
Dell Monitore - https://amzn.to/3XGDDmd



Haftungsausschluss

Wir haben die hier gezeigten Anleitung sorgfältig erstellt und in unserer Testumgebungen ausgiebig getestet.
Wer sich entschließt diese Anleitungen für sich selbst umzusetzen, führt diese auf eigene Verantwortung durch.
Der Ersteller des Artikels, sowie der Seitenbetreiber, haftet nicht für eventuelle Schäden an Hard- und/oder Software oder damit zusammenhängenden Schäden

2021/07/09 12:26 · rsb
Geben Sie Ihren Kommentar ein:
K X A​ E J
 
  • modelleisenbahn/testanlage-08-rocrail-update-backup-skript.txt
  • Zuletzt geändert: 2024/12/21 07:14
  • von rsb