rsync Backup mit QtdSync Fehler

Status
Für weitere Antworten geschlossen.

cosmorun

Benutzer
Mitglied seit
11. Jan 2014
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe heute eine Sicherung von Windows aus mit QtdSync auf die DS durchgeführt und am Ende kam die Meldung in QtdSync

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at /home/lapo/packaging/rsync-3.0.7-1/src/rsync-3.0.7/main.c(1042) [sender=3.0.7]


Das Backup wurde mit einem Fehler beendet.
---------------------------
Möchten Sie dieses Backup dennoch als gültig markieren?
---------------------------
Hide Details... &Yes &No
---------------------------

1. Wie finde ich heraus, was genau schief gelaufen ist - kann ich z.B. ein Logfile über die Admin Oberfläche aufrufen? Bzw. kann jemand etwas mit dem Code 23 Fehler anfangen?
2. Wenn ich das Backup als gültig markiere, werden die Dateien dann beim nächsten Mal mitgesichert (z.B. falls sie gelockt waren und dann frei sind) oder muss ich die gesamten 33 GB noch einmal sichern?

Danke und Gruß

Cosmorun

DS214+
DSM 4.3-3810
 

steinradler

Benutzer
Mitglied seit
23. Apr 2015
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

Du kannst ein rsync Logfile schreiben lassen welches dir dann die Fehler genau angiebt.

Z.B.: 2015/04/23 11:14:00 [2200] rsync: send_files failed to open "/cygdrive/C/ProgramData/Microsoft/Search/Data/Applications/Windows/MSStmp.log": Device or resource busy (16)

Am Schönsten kann man das ganze dann noch mit Notepad++ lesen.

Variante1: im qtd-Programmordner...

--log-file=BK_Venus.log

Variante2: in einem andren Pfad...

--log-file=C:\Users\Michael\Documents\Sonstiges\Sicherungseinstellungen\BK_Venus.log

Das File wird dann jedesmal überschrieben.

Gruß,

Michael
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
903
Punkte für Reaktionen
12
Punkte
44
Du kannst ein rsync Logfile schreiben lassen welches dir dann die Fehler genau angiebt.

Das finde ich sehr interessant! Dass rsync unter Linux ein Logfile erstellen kann (das imho erweitert und nicht ersetzt wird), weiss ich aber wie bekommt man QtdSync unter Windows dazu eines zu erstellen?

2. Wenn ich das Backup als gültig markiere, werden die Dateien dann beim nächsten Mal mitgesichert (z.B. falls sie gelockt waren und dann frei sind) oder muss ich die gesamten 33 GB noch einmal sichern?

Nach meinen Erfahrungen, die sich allerdings eher auf Sicherungen von Linux erstrecken, denn da kenne ich die Logs (s.o.), verursachen nicht nur Zugriffsrechte die Fehler sondern auch manche Links. Ich habe einfach ein paar Tage lang das Backup unter Windows beobachtet und festgestellt, dass die mir wichtigen Daten gesichert werden und dann den Haken bei ignorieren gesetzt. Man kann den Haken ja jederzeit wieder wegnehmen.

rsync erstellt keine Blacklist mit allen Dateien, die Fehler erzeugen, sie werden alle befehlsgemäss immer wieder gesichert. Was Du mit den 33 GB meinst, weiss ich nicht aber rsync kopiert nicht ganze Dateien sondern nur die Teile, die in der Quell verändert wurde. Deshalb sind die folgenden Sicherungen meist extrem viel schneller als die erste Sicherung, auch wenn grosse Dateien, wie z. B. virtuelle Platten einer VM gesichert werden.
 
Zuletzt bearbeitet:

steinradler

Benutzer
Mitglied seit
23. Apr 2015
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

das Logfile wird gleich wie unter Linux als Parameteraufruf eingestellt, alles Obige ist unter Windows von QTDsync.

Ich hatte lediglich zeitweise Probleme das QDT die Parameter in das Settingsfile der Sicherung schrieb.
Hier half das direkte editieren das Files oder wenn man die Sicherung komplett neu erstellt hat wurde es auch
geschrieben, was aber lästig ist wenn man schon viele Ausnahmen hat.
Achtung die Parameter können hier mehrfach im Settingsfile vorkommen, zb. für d: und c: man kann aber auch sowas
wie use-global-settings reinschreiben, wenn das jemand braucht kann ich es mal nachschauen und ein settingsfile posten.

Die Parameter die du für Rsync unter Windows verwenden kannst, kann man auch in der eingabeaufforderung abrufen...

Schöne Grüße,

Michael
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
903
Punkte für Reaktionen
12
Punkte
44
das Logfile wird gleich wie unter Linux als Parameteraufruf eingestellt, alles Obige ist unter Windows von QTDsync.

Das verstehe ich nicht. Wo gibt man --log-file=FILE ein? In der GUI als rsync-Expertenoptionen hat es bei mir keinen Effekt gehabt. Oder muss man das *.qtd Backup-Set bearbeiten?

Und wie geht Windows-rsync mit Leerzeichen in Namen um? Geht es wie in Linux mit "/Pfad zum Ort/"?

Die Parameter die du für Rsync unter Windows verwenden kannst, kann man auch in der eingabeaufforderung abrufen...

Die Eingabeaufforderung von Windows? Wie macht man das? Bei mir kommt nur erwartungsgemäss rsync Befehl nicht gefunden...
 

steinradler

Benutzer
Mitglied seit
23. Apr 2015
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

okay, obwohl es nicht so schwer ist dann mal ausführlicher anhand einer neuen Testsicherung:

Hier der Parameter für das Logfile in den rsync Experteneinstellungen:

Anhang anzeigen 23820

Nach dem Hinzufügen der zu sichernden Dateien kann man noch durch drücken auf bearbeiten (gelber Kreis)
entscheiden ob die Globalen Optionen verwendet werden oder diese für jeden Sicherungspfad separat angeben werden.

Somit besteht die Möglichkeit das Logfile nur für bestimmte Daten zu verwenden, oder verschiedene Logfiles...
Default ist glaube ich auf global...

ACHTUNG! Hier versteckt sich auch eine wichtige Funktion welche zuvor gesicherte Ordner aus dem Backup löscht
wenn diese später als Ausgenommen markiert werden: "Ausgenommene Dateien und Ver.... auf dem Server löschen".

Anhang anzeigen 23821

Mit Leerzeichen im Pfad geht es bei mir auch nicht, ich habe da auf die schnelle keine Lösung gefunden,
Als Workaround musst du hier halt einen Pfad ohne Leerzeichen wählen oder erstellen.

Beim Ausführen siehst du dann auch immer was von den Optionene für das gerade ausgeführte set verwendet wird:

2015-04-26 10_03_25-QtdSync.png

So kommt man auch schnell drauf wenn etwas nicht richtig ins Settingsfile geschrieben wird.
Zum Beispiel hatte ich Probleme die Anführungszeichen wieder rauszubekommen die ich zum Testen für den Ordner mit einem
Leerzeichen eingefügt habe.

Das konnte ich nur mehr über direktes editieren im Test.qtd File korrigieren... Hier mal das File

Rich (BBCode):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE QtdSync>
<QtdSync version="4" lastBackup="2015-04-26T10:39:06" lastBackupTry="2015-04-26T10:39:06" type="synchronize" uuid="{c6d9ba76-0135-4a59-9185-db57f8bb918a}" name="Test">
    <schedule onShutdown="false" onPlugin="false" silent="false" markFailedAsValid="false" processPriority="2" onTime="false" onStartup="false">
        <condition type="day">1</condition>
        <retryOnFailure doIt="false" type="minute">30</retryOnFailure>
        <start>2015-04-24T12:15:00</start>
        <lastTry></lastTry>
        <every type="hour">4</every>
    </schedule>
    <destination password="xxx=" path="Public/Sicherung" user="rsync">192.168.11.222</destination>
    <globalRsyncOptions>--hard-links --delete --ignore-errors --force --log-file=C:\Users\Michael\Documents\Sonstiges\Sicherungseinstellungen\Test.log</globalRsyncOptions>
    <folder name="Gemeinde">
        <exclude></exclude>
        <rsync>--hard-links --delete --ignore-errors --force --log-file=C:\Users\Michael\Documents\Sonstiges\Sicherungseinstellungen\Test.log</rsync>
        <dir>D:/DOKUMENTE/Gemeinde</dir>
    </folder>
    <folder name="Backup">
        <exclude></exclude>
        <rsync>use-global-settings</rsync>
        <dir>C:/Daten-C/Backup</dir>
    </folder>
</QtdSync>

Für den Ordner auf dem Laufwerk D sind hier eigene Optionen und für den Ordner auf C die Globalen Optionen (welche hier zwar gleich sind).

Wie schon mal erwähnt eignet sich Notepad++ ganz gut zum Editieren da es eine struckturierte Ansicht bietet.

Du muss einfach einmal ein bisschen rumprobieren.

Schöne Grüße,

Michael
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
903
Punkte für Reaktionen
12
Punkte
44
ACHTUNG! Hier versteckt sich auch eine wichtige Funktion welche zuvor gesicherte Ordner aus dem Backup löscht
wenn diese später als Ausgenommen markiert werden: "Ausgenommene Dateien und Ver.... auf dem Server löschen".

Ich hatte das bisher so verstanden, dass dieser Haken der rsync-Option --delete entspricht. Mich wundert allerdings, dass die Option in den "rsync-Expertenoptionen'' offenbar nicht verschwindet, wenn man den Haken wegnimmt. Egal. Nun habe ich --log-file=C:\Users\USER\QtdSync-Global.log in die Globalen Einstellungen und QtdSync-Verzeichnis.log in die Verzeichnis-Einstellungen geschrieben und die Backup Set.qtd sieht auch entsprechend aus:

Rich (BBCode):
    <globalRsyncOptions>--hard-links --delete --ignore-errors --force --log-file=C:\Users\USER\QtdSync-Global.log</globalRsyncOptions>
        <rsync>--hard-links --delete --ignore-errors --force --delete-excluded --log-file=C:\Users\USER\QtdSync-Verzeichnis.log</rsync>

Dann habe ich das Backup manuell gestartet und QtdSync-Verzeichnis.log wurde tatsächlich erstellt :) QtdSync-Global.log jedoch nicht. :(

Nun habe ich also meine Fehlerquelle:

Rich (BBCode):
2015/05/02 19:41:08 [1292] rsync: send_files failed to open "/cygdrive/C/Users/USER/NTUSER.DAT": Device or resource busy (16)
2015/05/02 19:41:08 [1292] <f+++++++++ QtdSync-Test2.log
2015/05/02 19:41:08 [1292] rsync: send_files failed to open "/cygdrive/C/Users/USER/ntuser.dat.LOG1": Device or resource busy (16)
2015/05/02 19:41:08 [1292] rsync: send_files failed to open "/cygdrive/C/Users/USER/ntuser.dat.LOG2": Device or resource busy (16)
2015/05/02 19:41:08 [1292] <f..t...... qtdsync.xml
2015/05/02 19:41:08 [1292] rsync: send_files failed to open "/cygdrive/C/Users/USER/AppData/Local/Microsoft/Windows/UsrClass.dat": Device or resource busy (16)
2015/05/02 19:41:08 [1292] rsync: send_files failed to open "/cygdrive/C/Users/USER/AppData/Local/Microsoft/Windows/UsrClass.dat.LOG1": Device or resource busy (16)
2015/05/02 19:41:08 [1292] rsync: send_files failed to open "/cygdrive/C/Users/USER/AppData/Local/Microsoft/Windows/UsrClass.dat.LOG2": Device or resource busy (16)

/cygdrive/C/ kommt vermutlich vom Cygwin64 Terminal, ich weiss nur nicht, wie ich das vom Backup ausschliessen soll. :confused: Und woher der Error Code 16 kommt, weiss ich auch nicht.

EDIT:

Noch eine Entdeckung, das kurze Log mit der rsync command line und der incremental file list, das am Ende des manuellen BA angezeigt wird, wird auch in C:\Users\USER\AppData\Local\Temp\JJJJ.MM.TT_hh.mm.ss_Backup Set.log gespeichert. Nicht wirklich hilfreich aber immerhin dokumentiert.
 
Zuletzt bearbeitet:

steinradler

Benutzer
Mitglied seit
23. Apr 2015
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

ja das ist so wenn du zusätzliche Optionen angibst werden für dieses Set nur diese Optionen und nicht die Globalen verwendet.
Deshalb hast du auch nur das eine Log. Wenn du nur dieses eine Backupset hast dann würde ich eben einstellen dass nur die globalen
Optionen gelten, das ist übersichtlicher.

Ja und noch was, man kann auch <rsync>use-global-settings --blablabl</rsync> einfach zu den Globalen Optionen noch was für ein Set angeben.

Der oder die Fehler stehen ja schön da:

"2015/05/02 19:41:08 [1292] rsync: send_files failed to open "/cygdrive/C/Users/USER/NTUSER.DAT": Device or resource busy (16)"

Das File was du sichern möchtest ist im Zugriff "... resource busy..." das sind einfach Systemfiles, die du nicht zu sichern brauchst bzw. so nicht sichern kannst. Wie z.B. pagefile.sys oder Datenbanken die offen sind, oder andere Files unter Umständen. Bei manchen kannst du dafür Sorge tragen dass diese vor der Sicherung geschlossen oder eben kopiert werden und du dann diese Kopie sicherst. Dazu musst du aber auch schon wissen was und warum du sicherst.

Schönen Sonntag noch,

Michael
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
903
Punkte für Reaktionen
12
Punkte
44
Wenn du nur dieses eine Backupset hast dann würde ich eben einstellen dass nur die globalen Optionen gelten, das ist übersichtlicher.

Wenn ich die Option bei mir in Global und nicht in Verzeichnis eintrage, wird kein Log erstellt. Definitiv.

Dazu musst du aber auch schon wissen was und warum du sicherst.

Wie gesagt, /cygdrive/c kommt sicher von Cygwin. Ich habe die nicht zur Sicherung ausgewählt, kann sie aber auch nicht abwählen, denn ein entsprechendes Verzeichnis oder Datei (cygdrive) konnte auch Windows nicht finden. Auch --exclude=/cygdrive/C/ hat nichts gebracht.
 

steinradler

Benutzer
Mitglied seit
23. Apr 2015
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

Wie gesagt man muss wissen was man sichert... Okay das "/cygdrive/C/" ist ja nicht das was du sicherst sondern ein Teil der Pfadangabe und der Schreibweise wie es cygwin braucht.

Die Datei die bei dir Probleme macht ist unter anderem:

"/cygdrive/C/Users/USER/NTUSER.DAT" genauer die Datei: NTUSER.DAT im Pfad c:\users\user\NTUSER.DAT

und eben dann:

"/cygdrive/C/Users/USER/ntuser.dat.LOG1" -> c:\users\user\ntuser.dat.LOG1

und so weiter.

Du muss die Dateien die nicht gesichert werden sollen im QtdSync unter Aufgaben einfach abwählen:
(Das Ganze ist natürlich immer einfacher wenn du ganze Ordner nicht brauchst sonst musst du dir einfach die Mühe machen
die ganzen andern Dinge abzuwählen, oder halt nur das auszuwählen wovon du sicher bist warum du es sichern willst. Alternativ
kannst du ja alles ausgewählt lassen, wenn du genug Platz hast, und mit Hilfe des Logfiles dann abwählen was sich nicht sichern lässt.
Dabei musst du im Prinzip nur aufpassen dass, du dann das was du unbedingt sichern willst hinbekommst und nicht auch versehntlich
abwählst...)

2015-05-03 15_11_01-QtdSync v0.6.20 beta - C__Users_Michael_Documents_Sonstiges_Sicherungseinste.jpg

oder im Settingsfile:
Rich (BBCode):
        <dir>C:/</dir>
        <excludedFiles>
            <file>/Users/Michael/Vorlagen</file>
            <file>/Users/Michael/NTUSER.DAT</file>
            <file>/Users/Michael/ntuser.dat.LOG1</file>
            <file>/Users/Michael/ntuser.dat.LOG2</file>

Auch das mit dem Logfile in den Globalen Optionen funktioniert sicher, müsste
dann so ähnlich aussehen wenn ich jetzt alles richtig verstanden habe was du willst:

Rich (BBCode):
<globalRsyncOptions>--hard-links --delete --ignore-errors --force --log-file=C:\Users\USER\QtdSync-Verzeichnis.log</globalRsyncOptions>
    <folder name="C">
        <exclude></exclude>
        <rsync>use-global-settings --delete-excluded</rsync>

Hoffe hilft dir ein wenig,
schlimmstenfalls könnten wir abends auch mal probieren eine Remtesession mit teamviewer oder sowas zu machen...

Grüße,

Michael
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
903
Punkte für Reaktionen
12
Punkte
44
Die Datei die bei dir Probleme macht ist unter anderem:

"/cygdrive/C/Users/USER/NTUSER.DAT" genauer die Datei: NTUSER.DAT im Pfad c:\users\user\NTUSER.DAT

und eben dann:

"/cygdrive/C/Users/USER/ntuser.dat.LOG1" -> c:\users\user\ntuser.dat.LOG1

und so weiter.

Danke! Ich habe jetzt mal c:\users\user\NTUSER.DAT, c:\users\user\ntuser.dat.LOG1 und c:\users\user\ntuser.dat.LOG2 ausgeschlossen aber der Fehler bestand weiter. Im Dateimanager von Windows 7 kann ich die Dateien übrigens nicht sehen obwohl ich das eigentlich in den Optionen eingestellt habe. :rolleyes: Windows...

Hoffe hilft dir ein wenig,
schlimmstenfalls könnten wir abends auch mal probieren eine Remtesession mit teamviewer oder sowas zu machen...

Danke für das Angebot aber so wichtig ist mir das mit diesen Fehlern nicht, denn das Backup funktioniert ja. Ich werde bei Gelegenheit es noch einmal mit exclude im Backup Set.qtd versuchen.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat