Datensicherung für die Nextcloud mit rsync

In diesem Beitrage zeige ich auf, wie man seine Nextcloud-Daten mit Hilfe eines Skripts und rsync auf ein openmediavaul 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 a
# 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

Meine verwendete Hardware

Bei den nachfolgenden Links handelt es sich um Amazon Affiliate Links.

openmediavault

Nextcloud

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.