Qnap Remote-Replication kontrollieren

Aus LagoWiki

Version vom 15:13, 26. Dez. 2012 von Gabriel (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Remote Replication ist eine prima Sache, die einem die Arbeit eines Backups automatisieren kann. Dieses funktioniert auch hervorragend über ein VPN, beispielsweise zwischen zwei FritzBoxen an verschiedenen Orten. Leider wird der Vorgang nicht besonders gut "geloggt", so dass es ein Glücksspiel sein kann, ob die Dateien nun wirklich dort angekommen sind oder nicht. Der Service sollte ja voll automatisch funktionieren, was er auch bestens tut. Der Haken an der Sache ist der, dass man nicht wirklich mitbekommt, wenn das Backup einmal nicht so funktioniert, wie man sich das vorgestellt hat.

Beispielsweise dauert es (bedingt durch die langsame Upload-Geschwindigkeit des Internetanschlusses) mitunter Wochen, um mehrere Gigabyte zu übertragen. Nun kann es sein, dass man "aus versehen" große Datenmengen erzeugt, die dan repliziert werden, obwohl diese nicht so wichtig sind. Mir ist das passiert, als ich eine neue Virtuelle Maschine (Windows) aus einer Kopie angelegt habe. Das waren gleich mal 20 GB. Nach zwei Monaten war rsync (das Protokoll auf dem Remote Replication besteht) immer noch daran, diese Kopien zu replizieren - nicht gut - und ich habe es nur durch Zufall bemerkt, weil ja normalerweise alles automatisch funktioniert.

Damit man wenigstens eine kleine Rückmeldung bekommt, hier nun ein Verfahren, dass einem Meldet, welche Dateien nun eigentlich in den letzten 20 Tagen neu auf dem Server eingetroffen sind.

/opt/bin/find /share/gabriel/Schreiber_s/. -mtime -20 -mmin +1 -exec stat -c %y\ %s\ %n {} \; > /share/gabriel/logs/20tage.txt  

cat /share/gabriel/logs/mailheader.txt /share/gabriel/logs/20tage.txt > /share/gabriel/logs/20daysmail.txt                                             
cat /share/gabriel/logs/20daysmail.txt | sendmail -t

Datei: findNewFiles.sh

  • Erste Zeile
    • Mit dem 'find' Befehl wird das Share durchsucht und alle Dateien, die in den letzten 20 Tagen entstanden sind, aufgelistet.
    • -mtime -20 <- damit werden alle Dateien, die neuer als 20 Tage sind aufgelistet
    • -mmin +1 <- verhindert, dass Dateien, deren Zeitstempel kaputt ist und die in entfernter Zukunft liegen, jedes mal mit aufgelistet werden.
    • -exec stat -c %y\ %s\ %n {} \; <- gibt die Date mit folgenden Optionen aus:
      •  %y <- Zeit der letzten Modifikation
      • \ <- Leertaste
      •  %s <- Dateigrösse
      •  %n <- Filename
      • Um stat nutzen zu können muss "coreutils" mittels "ipkg install coreutils" installiert werden
      • Siehe hierzu auch http://forum.qnap.com/viewtopic.php?t=23780
    • Das ganze wird dann in die Datei '20tage.txt' geschrieben.


Diese Date wird auf dem Server, der die Kopie entgegen nimmt, abgelegt und per cronjob ein mal am Tag ausgeführt.

45 15 * * * /root/findNewFiles.sh

Eintrag in die crontab (Jeden Tag um 15:45 das Script starten)

Subject: Files backed up on NAS                                     
From: nas@domain.info                                                   
To: stats@domain.info                                                   
                                                                               
These aer the files modified in the last 20 days                                
--------------------------

Datei: mailheader.txt

Persönliche Werkzeuge
Lagopixel