Je mehr ich benutze, rsync
desto mehr wird mir klar, dass es sich um ein Schweizer Taschenmesser für die Dateiübertragung handelt. Es gibt so viele Möglichkeiten. Ich habe kürzlich herausgefunden, dass Sie gehen können --remove-source-files
und eine Datei nach dem Kopieren aus dem Quellcode gelöscht wird, was es ein wenig bewegter macht, als ein Programm zu kopieren. :)
Was sind deine liebsten kleinen Rsync-Tipps und Tricks?
--delete-before
z. B.) das alte Verhalten "Liste zuerst erstellen" verwendet wird, damit diese Optionen ordnungsgemäß funktionieren. Wenn dieses Verhalten nicht angezeigt wird, überprüfen Sie, ob das Andere Optionen, die Sie verwenden, sind dafür bekannt, dass dies nicht möglich ist. Dies kann nützlich sein, wenn Sie rsync interaktiv für einen großen Baum verwenden und den ersten Scan erzwingen möchten, damit die Ausgabe--progress
korrekt ist (dh die Anzahl der zu vergleichenden Objekte steigt nie, da nach dem ersten Scan keine neuen Objekte gefunden werden ).Mit
--link-dest
auf platzsparende Snapshot - Backups zu erstellen, wobei Sie mehrere vollständige Kopien der Daten ertstellten Sicherheitskopien (eine für jeden Backup - Lauf) zu haben scheinen , aber Dateien , die sind nicht fest verbunden spart Platz statt der Schaffung neuer Kopien zwischen den Läufen ändern.(Eigentlich verwende ich immer noch die Methode
rysnc
-followed-by-cp -al
, mit der das Gleiche erreicht wird, siehe http://www.mikerubel.org/computers/rsync_snapshots/ für einen alten, aber immer noch sehr guten Überblick über beide Techniken und verwandte Themen)Der Hauptnachteil dieser Technik besteht darin, dass eine Datei, die aufgrund eines Festplattenfehlers beschädigt wurde, in allen Snapshots, die auf diese Datei verweisen, genauso beschädigt ist, aber ich habe auch Offline-Backups, die in angemessenem Maße davor schützen würden. Die andere Sache, auf die Sie achten müssen, ist, dass Ihr Dateisystem über genügend Inodes verfügt, oder dass Ihnen diese ausgehen, bevor Ihnen tatsächlich der Festplattenspeicher ausgeht (obwohl ich noch nie ein Problem mit den ext2 / 3-Standardeinstellungen hatte).
Vergessen Sie auch niemals das sehr sehr Nützliche
--dry-run
für ein wenig gesunde Paranoia, besonders wenn Sie die--delete*
Optionen nutzen.quelle
Wenn Sie eine Website mit einigen großen Dateien über einen langsamen Link aktualisieren müssen, können Sie die kleinen Dateien folgendermaßen übertragen:
rsync -a --max-size = 100 KB / var / www / dort: / var / www /
dann mach das für die großen Dateien:
rsync -a --min-size = 100K --bwlimit = 100 / var / www / dort: / var / www /
rsync bietet viele Optionen, die für Websites nützlich sind. Leider verfügt es nicht über eine integrierte Methode zum Erkennen gleichzeitiger Aktualisierungen, sodass Sie Cron-Skripten Logik hinzufügen müssen, um Überschneidungen beim Schreiben großer Dateien zu vermeiden.
quelle
Ich verwende die Option --existing, wenn ich versuche, eine kleine Teilmenge von Dateien aus einem Verzeichnis an einem anderen Speicherort zu synchronisieren.
quelle
--rsh
gehört mir.Ich habe es verwendet, um die Verschlüsselung von ssh in etwas schnelleres zu ändern (
--rsh="ssh -c arcfour"
) und um eine Kette vonssh
sssh-agent
zu erstellen (empfehle es mit zu verwenden ), um Dateien zwischen Hosts zu synchronisieren, die nicht direkt kommunizieren können. (rsync -av --rsh="ssh -TA userA@hostA ssh -TA -l userB" /tmp/foobar/ hostB:/tmp/foobar/
).quelle
Wenn diese Option verwendet wird, stoppt rsync nach T Minuten und beendet sich. Ich denke, diese Option ist nützlich, wenn Sie eine große Menge von Daten während der Nacht synchronisieren (nicht besetzte Stunden) und dann anhalten, wenn es Zeit für Leute ist, das Netzwerk zu benutzen, während des Tages (besetzte Stunden).
Mit dieser Option können Sie angeben, zu welcher Zeit rsync beendet werden soll.
Der Batch-Modus kann verwendet werden, um denselben Satz von Updates auf viele identische Systeme anzuwenden.
quelle
at
den Prozess, um ihn zu beenden ?Wenn Sie sich fragen, wie weit ein langsam laufender rsync gekommen ist und nicht -v zum Auflisten der übertragenen Dateien verwendet hat, können Sie herausfinden, welche Dateien geöffnet sind:
auf einem System, das / proc hat
Zum Beispiel war Rsync gerade für mich aufgehängt, obwohl auf dem Remote-System offenbar noch genügend Speicherplatz vorhanden war. Dieser Trick half mir, die unerwartet große Datei zu finden, an die ich mich nicht erinnerte und die nicht auf das andere Ende passte.
Es erzählte mir auch ein bisschen mehr interessante Informationen - das andere Ende gab anscheinend auf, da es auch eine defekte Socket-Verbindung gab:
quelle
--archive
Dies ist eine Standardoption (jedoch nicht die Standardoption) für sicherungsähnliche Jobs, mit der sichergestellt wird, dass die meisten Metadaten aus den Quelldateien (Berechtigungen, Eigentumsrechte usw.) kopiert werden.Wenn Sie das jedoch nicht verwenden möchten, möchten Sie häufig noch einbeziehen
--times
, wodurch die Änderungszeiten von Dateien kopiert werden. Dadurch wird der nächste ausgeführte Rsync-Vorgang (vorausgesetzt, Sie führen ihn wiederholt aus) viel schneller, da Rsync die Änderungszeiten vergleicht und die Datei überspringt, wenn sie unverändert ist. Überraschenderweise (zumindest für mich) ist diese Option nicht die Standardeinstellung.quelle
Das, das ich am häufigsten verwende, ist definitiv, mit
--exclude-from
dem Sie eine Datei angeben können, die auszuschließende Elemente enthält.Ich finde es auch
--chmod
sehr nützlich, weil Sie damit sicherstellen können, dass Berechtigungen in einem wünschenswerten Zustand enden, auch wenn Ihre Quelle durcheinander ist.quelle
--backup-dir =
date +%Y.%m.%d
--delete Wir löschen, aber machen eine Kopie ... nur für den Fallquelle
Meins ist
--inplace
. Wirkt Wunder, wenn auf dem Server für Sicherungen ZFS oder btrfs ausgeführt wird und Sie native Snapshots erstellen.quelle
Natürlich gibt es auch
--delete
Dinge, die vom Ziel entfernt werden und nicht in der Quelle gefunden werden können.quelle
cwrsync - Rsync für Windows http://www.itefix.no/i2/node/10650
Diese Version enthält OpenSSH, sodass Sie Dateien über einen sicheren Kanal übertragen können.
quelle
Im Falle von Unterbrechungen
Zur Begrenzung der Bandbreite - gut zum Kopieren großer Dateien und Verzeichnisse
quelle
bwlimit
? Bits pro Sekunde, Bytes pro Sekunde?Wenn Sie rsync als Daemon auf dem Server eingerichtet haben, können Sie die freigegebenen Module wie jede andere Verzeichnisliste durchsuchen. Dann können Sie sehen, welche Pfade verfügbar sind und welche nicht.
quelle
Wenn ich GlusterFs verwende, haben wir einen Engpass mit T-Dateien mit der Größe Null. Für die Synchronisierung zwischen abgestürztem Brick oder Replikat müssen wir verwenden,
--min-size=1
um keine leeren Dateien von abgestürzten Servern zu synchronisierenquelle