Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13
  1. #1
    Anwender Avatar von fraubi
    Registriert seit
    25.11.2011
    Beiträge
    563

    Standard RSYNC soll Log-Datei mit Info über geänderte Dateien erstellen,aber wie mach ich das?

    Hallo zusammen,

    ich synchronisiere div. Ordner zwischen zwei unterschiedlichen NAS mittels RSYNC. Ich würde gerne eine LOG-Datei schreiben lassen, in der nur die mittels RSYNC geänderten Dateien aufgeführt sind. Leider schaffe ich es nicht diese LOG-Datei erstellen zu lassen, weil ich nicht herausfinden kann, welche Parameter ich dafür nutzen muss.

    Kann mir da jemand behilflich sein.

    Danke und viele Grüße
    Fraubi


    1x DS3615XS mit 32 GB-RAM = Haupt-NAS mit VM (Windows 10)
    1x DS918+ = Backup-NAS 1 für tägliches Backup der DS3615xs
    1x DS118 = NAS für Surveillance-Station
    1x DS716+ = Test- und "Rumspiel"-NAS
    1x DS214Play = extern stehendes Backup-NAS

  2. #2
    Anwender Avatar von dil88
    Registriert seit
    03.09.2012
    Beiträge
    28.355

    Standard

    Benutzt Du eigene Shellskripte? Wenn ja, dann findest Du Beispielskripte von mir für ein rsync-Backup mit Logging hier im Forum über die Suche.
    DS214+ mit DSM 5.2 5967-9 (1x WD RED 4TB), VU+ Solo2 SAT-Receiver, Fritzbox 7580 - Ultimate Backup

  3. #3
    Anwender Avatar von fraubi
    Registriert seit
    25.11.2011
    Beiträge
    563

    Standard

    Meinst Du dieses :
    #!/bin/sh

    export DATE="/bin/date"
    export ECHO="/bin/echo"
    export RSYNC="/usr/syno/bin/rsync"
    export TEE="/usr/bin/tee"
    export LOG="/volume1/net/backup/PC/bin/rsync-Backup.log"
    export SOURCE="/volume1"
    export DEST="/volumeSATA/satashare"

    $ECHO "Start des rsync-Laufs Backup" 2>&1 | $TEE $LOG

    echo "-----" 2>&1 | $TEE -a $LOG
    $DATE 2>&1 | $TEE -a $LOG
    $ECHO "Foto" 2>&1 | $TEE -a $LOG
    $RSYNC -avh --delete $SOURCE/bilder/ $DEST/bilder 2>&1 | $TEE -a $LOG
    $ECHO "-----" 2>&1 | $TEE -a $LOG
    $DATE 2>&1 | $TEE -a $LOG
    $ECHO "music" 2>&1 | $TEE -a $LOG
    $RSYNC -avh --delete $SOURCE/audio/ $DEST/audio 2>&1 | $TEE -a $LOG
    $ECHO "-----" 2>&1 | $TEE -a $LOG
    $DATE 2>&1 | $TEE -a $LOG
    $ECHO "net" 2>&1 | $TEE -a $LOG
    $RSYNC -avh --delete $SOURCE/net/ $DEST/net 2>&1 | $TEE -a $LOG
    $ECHO "-----" 2>&1 | $TEE -a $LOG
    $DATE 2>&1 | $TEE -a $LOG
    $ECHO "Backup video" 2>&1 | $TEE -a $LOG
    $RSYNC -avh --delete $SOURCE/tv/ $DEST/tv 2>&1 | $TEE -a $LOG

    $ECHO "-----" 2>&1 | $TEE -a $LOG
    $DATE 2>&1 | $TEE -a $LOG
    $ECHO "Ende des rsync-Laufs Backup" 2>&1 | $TEE -a $LOG

    chown user:group $LOG
    chmod 644 $LOG
    Könntest Du dazu in dem folgenden Bereich noch ein wenig kommentieren, damit es evtl. etwas deutlicher wird was da abläuft.

    echo "-----" 2>&1 | $TEE -a $LOG
    $DATE 2>&1 | $TEE -a $LOG
    $ECHO "Foto" 2>&1 | $TEE -a $LOG
    Was bedeutet $TEE -a $LOG und was bewirkt ECHO "Foto" 2>&1 | $TEE -a $LOG?

    Den Rest verstehe ich.....

    Danke vorab für Deine Mühe
    Gruß
    Fraubi
    Geändert von fraubi (26.06.2014 um 22:22 Uhr)


    1x DS3615XS mit 32 GB-RAM = Haupt-NAS mit VM (Windows 10)
    1x DS918+ = Backup-NAS 1 für tägliches Backup der DS3615xs
    1x DS118 = NAS für Surveillance-Station
    1x DS716+ = Test- und "Rumspiel"-NAS
    1x DS214Play = extern stehendes Backup-NAS

  4. #4
    Anwender Avatar von dil88
    Registriert seit
    03.09.2012
    Beiträge
    28.355

    Standard

    "tee" splittet den Output auf, so dass man etwas beispielsweise auf der Konsole (stdout) mitlesen und gleichzeitig in eine Logdatei schreiben kann. Die Option -a sorgt dafür, dass beim Schreiben an die Logdatei - falls verfügbar - angehängt wird statt sie zu überschreiben. "echo" schreibt seine Option einfach auf stdout. "2&>1" lenkt den Output von stdout und stderr um - in diesem Falle auf tee. Ich habe im Skript noch ein paar Unschönheiten korrigiert, einen Test ergänzt, ob das Ziel ("$DEST", bei mir ein externes eSATA-Laufwerk) vorhanden ist, und das Auswerfen der externen Platte nach Abschluss des Backup hinzugefügt (für Netzwerksicherungen muss man das 'rauslöschen bzw. durch etwas Passendes ersetzen). Deshalb hier nochmal ein Update:

    Code:
    #!/bin/sh
    
    export CHMOD="/bin/chmod"
    export CHOWN="/bin/chown"
    export DATE="/bin/date"
    export ECHO="/bin/echo"
    export RSYNC="/usr/syno/bin/rsync"
    export TEE="/usr/bin/tee"
    export UMOUNT="/bin/umount"
    
    export LOG="/volume1/net/backup/PC/bin/rsync-Backup.log"
    export SOURCE="/volume1"
    export DEST="/volumeSATA/satashare"
    
    if [ -d $DEST/'$RECYCLE.BIN' ]; then
      $ECHO "Start des rsync-Laufs Backup" 2>&1 | $TEE $LOG
    
      $ECHO "-----" 2>&1 | $TEE -a $LOG
      $DATE 2>&1 | $TEE -a $LOG
      $ECHO "Bilder" 2>&1 | $TEE -a $LOG
      $RSYNC -avh --delete $SOURCE/bilder/ $DEST/bilder 2>&1 | $TEE -a $LOG
      $ECHO "-----" 2>&1 | $TEE -a $LOG
      $DATE 2>&1 | $TEE -a $LOG
      $ECHO "Audio" 2>&1 | $TEE -a $LOG
      $RSYNC -avh --delete $SOURCE/audio/ $DEST/audio 2>&1 | $TEE -a $LOG
      $ECHO "-----" 2>&1 | $TEE -a $LOG
      $DATE 2>&1 | $TEE -a $LOG
      $ECHO "Netz" 2>&1 | $TEE -a $LOG
      $RSYNC -avh --delete $SOURCE/net/ $DEST/netz 2>&1 | $TEE -a $LOG
      $ECHO "-----" 2>&1 | $TEE -a $LOG
      $DATE 2>&1 | $TEE -a $LOG
      $ECHO "TV" 2>&1 | $TEE -a $LOG
      $RSYNC -avh --delete $SOURCE/tv/ $DEST/tv 2>&1 | $TEE -a $LOG
    
      $ECHO "-----" 2>&1 | $TEE -a $LOG
      $DATE 2>&1 | $TEE -a $LOG
      $ECHO "Ende des rsync-Laufs Backup" 2>&1 | $TEE -a $LOG
    
      $CHOWN user:group $LOG
      $CHMOD 644 $LOG
    
      # eSATA Platte unmounten und auswerfen
      $UMOUNT /dev/sdc1
      $ECHO 1 > /sys/block/sdc/device/delete
    else
      $ECHO "eSATA unavailable"
    fi
    Dann noch ein Beispieloutput:

    Code:
    Start des rsync-Laufs Backup
    -----
    Thr Jun 26 23:49:01 CEST 2014
    Bilder
    sending incremental file list
    2013/
    2013/tmp/
    deleting 2013/tmp/2731.JPG
    deleting 2013/tmp/
    2013/neu/
    2013/neu/2731.JPG
    
    sent 1.21M bytes  received 1.56K bytes  15.81K bytes/sec
    total size is 384.25G  speedup is 317600.51
    -----
    Thr Jun 26 23:50:18 CEST 2014
    Audio
    sending incremental file list
    
    sent 309.06K bytes  received 960 bytes  32.63K bytes/sec
    total size is 36.54G  speedup is 117851.43
    -----
    Thr Jun 26 23:50:27 CEST 2014
    Netz
    sending incremental file list
    
    sent 273.36K bytes  received 939 bytes  16.62K bytes/sec
    total size is 37.19G  speedup is 135586.34
    -----
    Thr Jun 26 23:50:43 CEST 2014
    TV
    sending incremental file list
    
    sent 69.80K bytes  received 72 bytes  15.53K bytes/sec
    total size is 875.55G  speedup is 12531431.62
    -----
    Thr Jun 26 23:50:47 CEST 2014
    Ende des rsync-Laufs Backup
    Edit: Ein allgemeiner Hinweis noch: Meine externe Platte ist NTFS-formatiert, so dass ich die Linux-Eigentümer und -Rechte nicht abbilden kann. Dafür verwende ich andere rsync Optionen (-rltvh statt -avh).
    Geändert von dil88 (26.06.2014 um 23:17 Uhr) Grund: NTFS ergänzt
    DS214+ mit DSM 5.2 5967-9 (1x WD RED 4TB), VU+ Solo2 SAT-Receiver, Fritzbox 7580 - Ultimate Backup

  5. #5
    Anwender Avatar von fraubi
    Registriert seit
    25.11.2011
    Beiträge
    563

    Standard

    Super genial, vielen Dank für Deine Bemühungen und Erläuterungen.

    Was mir jetzt noch fehlt ist die Möglichkeit, den Inhalt der LOG-Datei so erstellen zu lassen, dass im LOG nur die geänderten Dateien / Ordner auftauchen ? So wie es bei mir jetzt läuft werden alle Verzeichnisse aufgelistet, auch wenn es gar keine Änderung an / in dem Verzeichnis gab. Daher hab ich eine Unmenge an Angaben im LOG stehen, die das ganze sehr unübersichtlich machen.

    Wenn da nur Verzeichnisse und Dateien stehen würden, die geändert wurden, dann wäre es TOP.

    Wie machst Du das, wenn Das Skript bei Dir läuft. Hast Du dazu evtl. einen Tipp für mich, der mich der Lösung ein wenig näher bringt ?

    Viele Grüße und nochmals danke für Deine Hilfe
    Fraubi


    1x DS3615XS mit 32 GB-RAM = Haupt-NAS mit VM (Windows 10)
    1x DS918+ = Backup-NAS 1 für tägliches Backup der DS3615xs
    1x DS118 = NAS für Surveillance-Station
    1x DS716+ = Test- und "Rumspiel"-NAS
    1x DS214Play = extern stehendes Backup-NAS

  6. #6
    Anwender Avatar von dil88
    Registriert seit
    03.09.2012
    Beiträge
    28.355

    Standard

    Genau das Verhalten hatte ich bei der Sicherung auf meine externe NTFS-Platte mit den Optionen -avh auch. Könnte aber auch bei einer Netzsicherung ein Problem sein. Probiere bitte einmal die alternativen rsync-Optionen -rltvh statt -avh. Das sollte das Problem lösen.
    DS214+ mit DSM 5.2 5967-9 (1x WD RED 4TB), VU+ Solo2 SAT-Receiver, Fritzbox 7580 - Ultimate Backup

  7. #7
    Anwender Avatar von fraubi
    Registriert seit
    25.11.2011
    Beiträge
    563

    Standard

    Da meine Sicherung von einer NAS auf eine andere läuft (also eine Netzwerksicherung) erhalten ich immer nur eine LOG-Datei, in der alles drin steht. Eine Reduzierung der angezeigten Ordner / Dateien dahingehend, dass nur die Änderungen angezeigt werden, konnte ich leider trotz diversen Versuchen nicht hinbekommen.

    Viele Grüße
    Fraubi


    1x DS3615XS mit 32 GB-RAM = Haupt-NAS mit VM (Windows 10)
    1x DS918+ = Backup-NAS 1 für tägliches Backup der DS3615xs
    1x DS118 = NAS für Surveillance-Station
    1x DS716+ = Test- und "Rumspiel"-NAS
    1x DS214Play = extern stehendes Backup-NAS

  8. #8
    Anwender Avatar von dil88
    Registriert seit
    03.09.2012
    Beiträge
    28.355

    Standard

    Das liegt nicht an der Logdatei, es wird schlichtweg alles gesichert. Da ist noch irgendetwas, was dafür sorgt, dass rsync bei allen Dateien davon ausgeht, dass sie sich verändert haben. Ich hatte das bei mir wg. der beschriebenen NTFS-Problematik nur bei den Verzeichnissen. In Deinem anderen Thread findet sich ein rsync-Aufruf. Verwendest Du den? Wenn ja, dann könnte es an der Option -a liegen. Möglicherweise müssen in dem Fall die Eigentümer und Gruppen auf beiden Maschinen gleich sein - eventuell sogar nicht nur ihre Namen sondern die UID und die GID. Ich habe bisher immer ein anderes Verfahren verwendet, nämlich nicht auf einen rsync-Server zu sichern, sondern Netzlaufwerke zu mounten und rsync lokal laufen zu lassen. Könnte eine Alternative sein, die Du nochmal ausprobieren könntest. Und noch ein Ansatz: Du könntest es mit --modify-window=2 probieren, wobei die 2 nur der Wert ist, mit dem ich gute Erfahrungen gemacht habe.
    DS214+ mit DSM 5.2 5967-9 (1x WD RED 4TB), VU+ Solo2 SAT-Receiver, Fritzbox 7580 - Ultimate Backup

  9. #9
    Anwender Avatar von fraubi
    Registriert seit
    25.11.2011
    Beiträge
    563

    Standard

    Wenn ich mir den Ablauf meines Skriptes über Putty anschaue, dann geht das Skript nur die einzelnen Verzeichnisse durch, kopiert aber keine Dateien / Ordner. Nur wenn wirklich eine geänderte Datei / Ordner dabei ist, dann wird das beim RSYNC kopiert. Das sehe ich dann auch in Putty.

    Der RSYNC-Parameter -a ist seit DSM5 wohl mir Vorsicht zu geniessen. Ab DSM5 läuft es ja alles mit ACL, so dass ich als aktuelle Parameter

    rsync -av --syno-acl

    verwende. --syno-acl soll die Berechtigungen der Quelle mit übernehmen (so hab ich das verstanden)

    Wenn Du mit RSYNC lokal laufen meinst, dass ich es über den PC mit gemounteten Netzlaufwerken laufen lassen soll, so ist das bei mir keine Alternative. Ich lasse mittels Aufgabenplaner nachts meine DS3612 auf die DS713 sichern. Wenn der Sync läuft, dann schlafe ich und der PC ist aus.

    Was genau macht --modify-window=2 ?

    Viele Grüße
    Fraubi


    1x DS3615XS mit 32 GB-RAM = Haupt-NAS mit VM (Windows 10)
    1x DS918+ = Backup-NAS 1 für tägliches Backup der DS3615xs
    1x DS118 = NAS für Surveillance-Station
    1x DS716+ = Test- und "Rumspiel"-NAS
    1x DS214Play = extern stehendes Backup-NAS

  10. #10
    Anwender Avatar von dil88
    Registriert seit
    03.09.2012
    Beiträge
    28.355

    Standard

    Nein, das meine ich nicht mit "lokal laufen lassen". Damit meine ich, dass Du auf einer der beiden DS (bevorzugt auf der leistungsstärkeren, also der 3612) die Laufwerke der anderen DS mountest und dann dort rsync insofern lokal laufen lässt, als auf dieser einen DS die Synchronisation abläuft. Die zweite DS ist nicht als rsync-Server beteiligt sondern liefert die Daten lediglich über Samba aus. "--modify-window" sorgt dafür, dass die Daten auch dann als gleich akzeptiert werden, wenn die mtime-Timestamps nicht ganz identisch sind. Wird das Fenster z.B. auf 2 gesetzt, bedeutet dies, dass eine Abweichung bis zu zwei Sekunden akzeptiert wird.

    Hast Du denn einmal mit rsync -rltvh statt rsync -avh getestet?
    DS214+ mit DSM 5.2 5967-9 (1x WD RED 4TB), VU+ Solo2 SAT-Receiver, Fritzbox 7580 - Ultimate Backup

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Rsync Log erstellen lassen
    Von bishop2k im Forum Backup / Restore / Data Replicator Allgemein
    Antworten: 1
    Letzter Beitrag: 27.09.2013, 16:07
  2. Datensicherung - nur neue Dateien werden gesichert,geänderte aber nicht aktualisiert!
    Von bobcyber im Forum Backup / Restore / Data Replicator Allgemein
    Antworten: 2
    Letzter Beitrag: 03.01.2013, 08:06
  3. DS410j ist installiert, ok, aber wie nutze ich das
    Von pulpo1948 im Forum Installation und Konfiguration allgemein
    Antworten: 5
    Letzter Beitrag: 16.08.2010, 17:29
  4. wie mach ich das mit Knoppix ?
    Von riccardo im Forum Datenrettung
    Antworten: 12
    Letzter Beitrag: 09.06.2009, 15:35
  5. Antworten: 2
    Letzter Beitrag: 09.01.2008, 22:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •