In diesem Beitrage zeige ich auf, wie man seine Nextcloud-Daten mit Hilfe eines Skripts und rsync auf ein openmediavault sichern kann.
Für die Sicherung via rsync ( ➡ https://de.wikipedia.org/wiki/Rsync) habe ich zwei Skripte im Verzeichnis /etc/skripte abgespeichert. Das erste Skript enthält das eigentliche Backup, die zweite Datei enthält Pfade, die vom Backup ausgeschlossen werden sollen.
Das openmediavault wird automatisch von Nextcloud-Server via NFS eingebunden, sobald das NAS angeschalten wird. Es ist nicht erforderlich das Laufwerk über die Datei /etc/fstab zu mounten.
Backup Skript
Das Skript enthält einige Variablen im oberen Bereich, die ihr an eure Installation anpassen müsst.
Der Name des Skripts für das Beispiel lt. rsync-bakup-skript.sh.
#!/bin/bash # by strobelstefan.org # 2020-08-05 # Version: 1.0 # Datensicherung für die Nextcloud mit rsync # https://strobelstefan.org/?p=8094 # # This script creates a full backup of the Nextcloud data storage on an # external storage located on openmediavault ################################### # Define Variables ################################### #Name of Nextcloud NEXTCLOUD="nextcloud" #Backup storage BACKUPSTORAGE="/mnt/openmediavault/" #Source patch SOURCE="/mnt/data/" #Target path on BACKUPSTORAGE TARGET="/mnt/openmediavault/data/" #Exclude from RSYNC file EXCLUDEFILE="excludefile.txt" # E-Mail Address where the export should be emailed to EMAIL="email@email.de" ################################### #Starts rsync Process From Source to Target ################################### # Copies the files from Source to Target echo $(date +%Y-%m-%d_%H-%M-%S) " - Start rsync process" # Dieser Abschnitt erklärt die Syntax von rsync #sudo rsync -av --stats --delete --log-file=${LOGFILE} --exclude ${EXCLUDE} --exclude ${EXCLUDE1} --exclude ${EXCLUDE2} --exclude ${EXCLUDE3} --exclude ${EXCLUDE4} ${SOURCE} ${TARGET} # Mit Log Files von rsync #sudo rsync -av --stats --delete --exclude ${EXCLUDE} --exclude ${EXCLUDE1} --log-file=${LOGFILE} ${SOURCE} ${TARGET} # Ohne Log Files sudo rsync -av --stats --exclude-from=${EXCLUDEFILE} --delete ${SOURCE} ${TARGET} echo $(date +%Y-%m-%d_%H-%M-%S) " - Finished rsync process" ################################### # Sends E-Mail to Defined Address ################################### # Sends LOGFILE and compressed rsync log file vie e-mail to defined address echo $(date +%Y-%m-%d_%H-%M-%S) " - RSYNC process finished for "${NEXTCLOUD} | mutt ${EMAIL} -s "RSYNC process finished for "${NEXTCLOUD}
Exclude Datei
Hier handelt es sich lediglich um eine Text-Datei. Dort tragt ihr die Pfade ein, die nicht per rsync auf das openmediavault-Laufwerk gesichert werden sollen.
Ihr müsst zwingend auf die Reihenfolge achten. Im Beispiel wird das deutlich:
+ /*/files - /*/files_trashbin - /*/files_versions
Das “+” gibt an, dass der Ordner “files” gesichert werden soll.
Der Unterordner “files_trashbin” wird durch das Setzen eines “–” von der Datensicherung ausgeschlossen. Auch mit dem anderen Unterordner “files_versions” wird so verfahren, er wird von der Datensicherung ausgeschlossen. Alle anderen Ordner, die sich im Verzeichnis “files” befinden werden ganz normal gesichert.
Die Datei sieht dann so ähnlich aus.
Der Name der Datei ist inm vorherigen Skript über die Variable EXCLUDEFILE=”” auf den Namen definiert “excludefile.txt”.
- /appdata_oclxq0g8z5d1 - /updater-oclxq0g8z5d1 - /*/cache + /*/files - /*/files_trashbin - /*/files_versions - /*/uploads
Skript ausführen
Nachdem ihr beide Dateien in das Verzeichnis /etc/skripte gespeichert habe, passt ihr die Zugriffsrechte noch an.
sudo chown root:root rsync-bakup-skript.sh sudo chmod 0600 rsync-bakup-skript.sh sudo chmod +x rsync-bakup-skript.sh sudo chown root:root excludefile.txt sudo chmod 0600 excludefile.txt
Den Datensicherungsprozess könnt ihr manuell starten. Dazu ist der Befehl auf der Konsole auszuführen
sudo sh ./rsync-bakup-skript.sh
Interessante Links
- Raspberry Pi SD-Karte im Livebetrieb klonen – Neue Version
- Datensicherung für die Nextcloud mit BorgBackup
Meine verwendete Hardware
Bei den nachfolgenden Links handelt es sich um Amazon Affiliate Links.
openmediavault
Nextcloud
Die drei unterschiedlichen Speicher verwende ich für:
- SD-Karte - Betriebssystem Raspberry Pi OS
- Festplatte - für das Nextcloud Daten-Verzeichnis ("datadirectory") und das temporäre Verzeichnis ("tempdirectory")
- USB-Stick - Nextcloud-Datensicherung, komplettes Backup der SD-Karte und Sicherung von Adressbüchern und Kalender
Seit Anfang des Jahrtausends absolut Linux-begeistert und Fan von Open Source. Raspberry Pi Bastler der ersten Stunde und nach wie vor begeistert von dem kleinen Stück Hardware, auf dem
er tolle Projekte umsetzt. Teilt hier seine Erfahrungen mit Nextcloud, Pi-hole, YubiKey und zu anderen spannenden IT-Themen. Nutzt
beruflich viel Excel. Sitzt vor einem riesen 49″ Monitor, nutzt Windows zum Arbeiten, Linux auf seinen Servern und virtuellen Maschinen und hört dabei Spotify und Musik über seinen RadioPi.
(**) Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
Vielen Dank für diese schöne Lösung! Hat mir sehr weiter geholfen!