Backupjob auf Synology NAS einrichten

dieser Backupjob wird verwendet, um einzelne Dateien auf google drive zu sichern, die in einem App-Verzeichnis liegen und vom normalen Backupjob des NAS nicht erreicht werden können.

Auch hier geht der Weg wieder über die Shell. Dabei verwenden wir ein Wahnsinnstool rclone.

sudo -i

Wir wechseln zuerst in das Verzeichnis /tmp und legen dort ein Verzeichnis rclone an und wechseln dann dorthin:

cd /tmp
mkdir rclone
cd rclone

Wir laden uns rclone herunter, entpacken es, setzen die Rechte und wechseln in das Unterverzeichnis:

curl -o rclone.zip https://downloads.rclone.org/rclone-current-linux-amd64.zip
7z x rclone.zip
chmod +x rclone
cd rclone-v1.72.1-linux-amd64

Nun verschieben wir rclone in ein Verzeichnis, das im System auffindbar ist:

sudo mv rclone /usr/local/bin

Jetzt muss rclone konfiguriert werden. Das Tool ist so komplex, dass das Konfigurieren für mich das Schwierigste war.

rclone config

Im Folgenden stellt rclone diverse Fragen. Die Antworten werden hier dokumentiert:

>n (new remote)

name>mygoogledrive  (der Name wird nachher als Ziel verwendet, frei wählbar)

>22 (derzeit die Nummer für google drive, es können auch andere Services verwendet werden)

client_id>enter drücken

client_secret> enter drücken

scope>1

service_account_file>enter drücken

edit advanced config? N

Use webbrowser to automatically authenticate rclone remote? N

Gehe jetzt auf dein Windows-System, dort https://downloads.rclone.org/rclone-current-windows-amd64.zip herunterladen. Das zip in ein Verzeichnis deiner Wahl entpacken, dann per Powershell in das Verzeichnis wechseln. Dort dann den Befehl eingeben, der dir in der NAS-Shell angezeigt wird. Etwa so:

rclone authorize „drive“ „hdfuerndflwerfwdmf“

In der Powershell wird dann ein Text (Token) zurückgegen mit der Anleitung, was genau man kopieren muss. Das Token wird dann in der NAS-Shell eingefügt und es geht weiter:

config_token>hier den Token einfügen

Configure this as a Shared Drive? (y/n)>n

Yes this is OK: y

q

Nun legen wir in der NAS-GUI im Wurzelverzeichnis ein Verzeichnis „scripts“ an. Dort erstellen wir eine Datei emby_backup.sh.

Die Datei editieren wir und fügen folgenden Text ein:

#!/bin/bash
# Quelle und Ziel
SOURCE="/volume1/@appdata/EmbyServer/data/library.db"
DEST=" mygoogledrive:verzeichnis_auf_googledrive"
# Logfile
LOG="/var/log/rclone_emby_backup.log"
# Zeitstempel
DATE=$(date +"%Y-%m-%d_%H-%M")
# Temporäre Dateien
TMP="/tmp/library_${DATE}.db"
TMP_COMPRESSED="${TMP}.xz"
# 1. Kopie erstellen (falls Emby die Datei gerade nutzt)
cp "$SOURCE" "$TMP"
# 2. Maximale Kompression (xz -9e = höchste Kompression + extreme Optimierung)
xz -9e "$TMP"
# 3. Upload nach Google Drive
/usr/local/bin/rclone copy "$TMP_COMPRESSED" "$DEST" --progress >> "$LOG" 2>&1
# 4. Temporäre Datei löschen
rm "$TMP_COMPRESSED"
echo "Backup abgeschlossen am $DATE" >> "$LOG"

Tipp: lege einen Unterordner auf google drive an. Du ersetzt dann im Script „verzeichnis_auf_googledrive“ mit deinem Verzeichnis.

Jetzt geht’s in den Aufgabenplaner der NAS-GUI.

  1. Erstellen → Ausgelöste Aufgabe → Benutzerdefiniertes Skript
  2. Benutzer: root
  3. Zeitplan: z. B. täglich 03:00
  4. Unter „Aufgabeneinstellungen“:
sh /volume1/scripts/emby_backup.sh

Damit wird das angelegte Script wie definiert regelmäßig ausgeführt.

Schreibe einen Kommentar

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