Beim Sichern meiner laufenden Postfix- und Courier-Serverdateien werden zahlreiche Warnungen angezeigt, z.
file has vanished: /var/kunden/mail/username/[email protected]/tmp/courier.lock
Wie unterdrücke ich diese Warnungen, rsync
wenn ich sie in Cron ausführe /usr/bin/rsnapshot hourly
?
Kann ich diese dirs irgendwie ausschließen?
/var/kunden/mail/*/*/tmp/
Der tmp
Ordner kann auch tiefer sein, zum Beispiel:
file has vanished: /var/kunden/mail/username/[email protected]/.Presse/tmp/1353871473.M716135P32214_imapuid_36.test.de
file has vanished: /var/kunden/mail/username/[email protected]/.Presse/tmp/courier.lock
rsync -a --exclude '/var/kunden/mail/*/*/tmp/' --exclude '/var/kunden/mail/*/*/*/tmp/' /var/kunden/ $SERVER/var_kunden/
?/tmp/
in ihnen enthalten sind, wie ich es geschrieben habe. Wenn Sie expliziter sein möchten, können Sie dies so festlegen, wie Sie es geschrieben haben.--exclude='/tmp/'
schließt nur das Verzeichnis aus,tmp
das im Stammverzeichnis der Kopie aufgerufen wird .tmp
Verwenden Sie, um alle Unterverzeichnisse auszuschließen, die an einer beliebigen Stelle aufgerufen werden--exclude='**/tmp/'
.Leider hat dies, anders als in der SWdream-Lösung beschrieben,
--ignore-missing-args
keine Auswirkungen auf verschwundene Dateien. Quellargumente, die nicht existieren, werden einfach ignoriert.Siehe
man rsync
:Die "offizielle" Methode zum Ignorieren von gelöschten Dateien ist die Verwendung dieses Skripts aus dem offiziellen Rsync-Quellrepository: https://git.samba.org/?p=rsync.git;a=blob_plain;f=support/rsync-no- verschwunden; hb = HEAD
Das ist sehr ähnlich zu dem, was @kenorb und @ gilles-quenot gesagt haben.
quelle
Der Grund dafür ist, dass diese Dateien vorhanden waren, während rsync die Liste der zu übertragenden Dateien erstellt, sie jedoch vor der Übertragung entfernt werden.
Es ist eine Warnmassage, kein Fehler. Sie sollten jedoch versuchen herauszufinden, warum diese Datei gelöscht wurde. Dies ist möglicherweise wichtig.
Um diese Warnung zu ignorieren, können Sie die Option --exclude wie oben angegeben verwenden oder die
-ignore-missing-args
Option rsync verwenden. Dadurch ignoriert rsync verschwundene Dateien.--ignore-missing-args ignore missing source args without error
Vielleicht hilft es.quelle
Der Fehler bedeutet, dass
rsync
die Dateien, die beim Erstellen der zu übertragenden Liste vorhanden waren , nicht mehr gefunden werden können. Diese Fehler bei gelöschten Dateien treten auf, wenn eine Datei ursprünglich als vorhanden befunden wurde und später nicht mehr vorhanden ist. In einigen Fällen kommt es auch vor, wenn die Quelldateien beschädigt sind oder ungültige Zeichen im Namen enthalten (diesfsck
wird empfohlen).Grundsätzlich ist dies eine Warnung und kein Fehler. Sie müssen sich also keine Sorgen machen, da der Status jeder Zieldatei den Status der entsprechenden Quelldateien während der Ausführung widerspiegelt.
Wenn das Problem dadurch verursacht wird, dass der Exit-Wert nicht Null ist, kann dies mit dem folgenden Wrapper-Skript ( Quelle ) behoben werden :
oder durch das folgende Workaround-Skript ( Quelle ):
Die im Grunde mit den gleichen Fehlercodes wie rsync existiert, wenn rsync fehlschlägt.
Weitere Informationen hierzu finden Sie in: Bug 3653 - Verringern Sie die Notwendigkeit der Warnung "Verschwundene Dateien"
quelle
Oder einfach (mit modernem Bash ):
quelle
vanished
?Meine Antwort mag ein spezieller Anwendungsfall sein, aber ich war der Meinung, dass es wert ist, darauf hingewiesen zu werden, damit die Leute keine Daten verlieren, wenn sie unter diesen Fall fallen.
Ich habe diese Meldung für mehrere Dateien erhalten, während ich eine routinemäßige Sicherung von Laufwerken über rsync durchgeführt habe.
Ich habe eine Systemprüfung auf der Festplatte durchgeführt und festgestellt, dass Probleme mit dem Laufwerk vorliegen (Zuweisung / Dateibeschädigung usw.), und habe empfohlen, eine Sicherung + Wiederherstellung + Neuformatierung durchzuführen.
Bevor Sie die Meldung unterdrücken oder ignorieren, ist es möglicherweise ratsam, nur eine Zustandsprüfung Ihres Laufwerks durchzuführen, um die Sicherheit zu gewährleisten.
quelle
tmp
Verzeichnissen auftreten.Versuchen Sie, Ihre Sicherungsdiskette mit
nosuid,nodev,nofail,x-gvfs-show
Optionen bereitzustellen.Ich bin nicht sicher, welches System Sie verwenden, aber ich glaube, das hängt mit den Mount-Optionen Ihrer Festplatte zusammen. Unter Linux passiert dies, wenn ich die Mount-Optionen auf setze
User Session Default
. Es wird behoben, wenn ich es deaktiviere und rsync ohne Fehler abgeschlossen wird.quelle
Verwenden Sie diesen Parameter:
um die Liste in eine Datei zu legen. Schreiben Sie in der Datei exclude.ini Folgendes:
Wo:
Denken Sie daran, dass Sie dies möglicherweise berücksichtigen müssen, wenn das Dateisystem von der Groß- und Kleinschreibung abhängt.
quelle