Backup per Cronjobs und rsync/SSH


#1

Hallo,

da ich jetzt ja stolzer Besitzer eines bplaced max Accounts bin habe ich ja auch die Möglichkeit Cronjobs und SSH zu verwenden, da kam mir folgende Idee.

Ich habe ein NAS-System der Marke “Synology” auf welches ich immer meine Backups mache.
Im Netz habe ich dieses Skript gefunden, womit man wohl automatisch Daten via rsync von A nach B syncronisieren kann.

#!/bin/bash
#
# Automatisches Sichern von speziellen anzugebenden Ordner
# mit Hilfe von "rsync" und cronjob
#
# Angabe der Ordner die gesichert werden soll.
# ACHTUNG
# /[Ordner]/ -> Inhalt des Ordners wird gesichert
# /[Ordner] -> Ordner wird gesichert
SOURCES="/home/[USER]/Dokumente /home/[USER]/Downloads"

# Ziel des Backups auf dem entfernten Rechner.
# Benötigt SSH-Key-Exchange
TARGET="root@[REMOTE]:/home/backup/"

# Parameter zum Synchronisieren
# --delete bewirkt ein Datenabgleich inklusive Löschen auf dem Backupmedium
RSYNCCONF="--delete"

# Dateiname des Logfile
LOGFILE="rsync_log.log"

# Ort der Binär-Datei von "rsync"
RSYNC=`which rsync`

# Befehl
$RSYNC -avrpuE $RSYNCCONF $SOURCES $TARGET > $LOGFILE

exit 0

Quelle: https://www.dot-solutions.org/?p=216

Wenn ich eine Portweiterleitung im Router setze, sodass mein NAS unter meiner DynDNS Adresse auf diesen Port hört, dann sollte das doch eigentlich machbar sein!?

Internetleitung 40Mbit Up und 100 Mbit Down - sollte über Nacht kein Problem sein die Daten rüber zu schubsen. Wenn nicht ist auch nicht schlimm, aber wäre jetzt ein nettes Beiwerk, wenn ich mir damit nen automatisierten Backup-Job für all meine Daten auf mein NAS erstellen könnte. :slight_smile:

LG


#2

Das Backup soll auf den NAS, …oder die Daten vom NAS aufn Webspace?

Kann das NAS selbst Cronjobs durchführen? Ziel/Quelle zu vertauschen ist mit rsync ja kein Problem.


#3

Das müsste ich mal nachschauen. Bestimmt geht das auch irgendwie…

Cool wäre eine automatische Sicherung der Daten auf dem Webspace auf das NAS.


#4

Ja also vom Webspace aufs NAS, nicht umgekehrt :smiley:

Das ist soweit wirklich einfach, wenn am NAS Cronjobs möglich sind, weil dann braucht es keine DynDNS oder Portweiterleitung, der Webspace ist ja öffentlich über Deine Domain erreichbar.

Je nach Modell ist das anscheinend möglich, rsync + SSH regeln dann den rest.


#5

Hab es jetzt so gelöst:

#/bin/sh

/usr/bin/lftp -c "set ftp:list-options -a;
set ssl:verify-certificate no;
open ftp://benutzername:passwort@meinaccount.bplaced.net; 
lcd /volume1/Backup_Ordner;
mirror --use-cache --verbose --allow-chown --allow-suid --no-umask --parallel=2 --exclude-glob .svn"
exit;

Funktioniert super. Habe in der Aufgabenplanung dieses Skript jetzt einfach als benutzerdefiniertes Skript hinzugefügt. - Es sendet sogar eine E-Mail, ob das Skript erfolgreich ausgeführt wurde oder abgestürzt ist. :slight_smile: Jetzt müsste ich lediglich noch hinbekommen, dass auch die Datenbank automatisch gesichert wird. Das soll ja der MySQL Dumper, bzw. nachfolger mit PHP 7.2 kompatiblität MyOOS Dumper können. Bei dem habe ich jedoch das Problem, dass ich hier immer nur eine Datenbank angezeigt bekomme, die ich bei Ersteinrichtung angegeben habe und nicht wenn ich z.B. 5 MySQL Datenbanken angelegt habe mir auch alle 5 dort angezeigt werden.