27Jun
Rsync ist eines der nützlichsten Dienstprogramme für einen Serveradministrator, aber es synchronisiert standardmäßig alles , was ärgerlich sein kann, wenn Ihre Anwendung eine Menge temporärer Dateien erstellt. So schließen Sie Dateien bei der Verwendung von rsync aus.
Ausschließen aus einer Liste in einer Datei
Dies ist die ideale Methode zum Ausschließen von Dateien und Ordnern, da Sie die Liste jederzeit bearbeiten und bei Bedarf optimieren können. Hier ist die Syntax:
rsync --exclude-from = /path/to/ Ausschlußdatei /path/to/ Quelle /path/to/ destDas Problem mit rsync ist, dass Sie einen relativen Pfad verwenden müssen, wenn Sie versuchen, Dinge auszuschließen, weil, wenn es versuchtpassen Sie die Ausschlüsse an, es wird nicht den ersten Teil des Pfades für das Spiel verwenden. .. es ist komisch.
Sagen Sie zum Beispiel, Sie versuchen, /data/web/ zu sichern und es an einen anderen Server zu senden, also verwenden Sie einen Befehl wie rsync -a /data/web/ Benutzer @ Server: /backups/data/web/, um es geschehen zu lassen. .. aber Sie möchten wirklich die /data/web/cache/ synchronisierenMappe. Wenn rsync Ihre Ausschlussliste für jedes synchronisierte Element überprüft, wird /data/web/cache/ nicht überprüft, da Ihr ursprünglicher rsync-Befehl im Ordner /data/web/ basiert. Es wird nur "Cache /" gegen die Liste prüfen. Sie müssen also "Cache" in die Liste einfügen, nicht den vollständigen Pfad. Beispiel:
rsync -a --exclude-from = /data/ Ausschlüsse /data/web/ /backups/Um den /data/web/-Cache und /data/web/ temp jetzt mit diesem Befehl von rsync auszuschließen, entfernen wir den /data/web/-Teil des Pfades und die /data/-Ausschlußdatei würde einfach folgendes enthalten:
cache * temp *Sie werden feststellen, dass ich das * in den Pfad eingefügt habe, um sicherzustellen, dass es mit allem übereinstimmt, das am Anfang mit "Cache" beginnt. Sie können dieses Sternmuster für nützlichere Gründe verwenden, wenn Sie möchten - sagen Sie, dass Sie alle TXT-Dateien von der Synchronisierung ausschließen möchten. Sie würden das Muster mit dem Stern starten, um sicherzustellen, dass es immer passt, und fügen Sie dies hinzu:
*. txtDas würde sicherstellen, dass diese Dateitypen während einer Synchronisierung übersprungen werden. Es ist ziemlich einfach darüber hinaus.
Ausschließen eines einzelnen Elements
Diese Technik ist viel weniger nützlich, aber Sie können sie bei Bedarf verwenden. Wenn Sie ein Skript für die Verwendung von rsync einrichten, was normalerweise der Fall ist, sollten Sie die zusätzliche Minute aus einer Dateiliste ausschließen, um die zukünftige Wartung zu vereinfachen. Die Syntax ist sehr ähnlich:
rsync --exclude = relative /path/to/ Ausschluss / Quelle / destDer gleiche relative Pfad sollte hier wie oben gelten.