Wie verwaltet man ein Remote-Klonverzeichnis mit rsync?

Wie verwaltet man ein Remote-Klonverzeichnis mit rsync?

Ich habe SSH-Zugriff (mit einem SSH-Schlüsselpaar) auf einen Remote-Computer. Ich möchte ein Verzeichnis auf dem Remote-Computer genau gleich einem bestimmten lokalen Verzeichnis halten (Einweg-Synchronisierung). Die Prüfung auf Dateigleichheit sollte auf der Grundlage eines Hashs des Binärdateiinhalts (nicht Größe/Datum) erfolgen.

  1. Was ist der richtige Rsync-Befehl hierfür (nicht der Rsync-Dienst)?
  2. Wie werden Dateiberechtigungen gehandhabt?
  3. Wie werden Dateiänderungsdaten gehandhabt?
  4. Wie reagiert rsync auf Fehler und wie lautet der Exit-Code?

Antwort1

Rsync prüft den Inhalt der Datei, nicht das Datum und/oder die Dateigröße. Wenn der Inhalt unterschiedlich ist, aber der gleiche Pfad und Name vorliegt, wird die Datei überschrieben.

Die Syntax für rsync rsync options source destinationlautet: Wenn Sie ein Remote-Verzeichnis mit einem lokalen synchronisieren möchten, sollte dies funktionieren:

rsync -azh local_folder user@remote_server:/path/to/destination/

Wenn du SSH als Übertragungsprotokoll verwenden möchtest, dann funktioniert das bei mir:

rsync -azhe ssh local_folder user@remote_server:/path/to/destination

Wie werden Dateiberechtigungen gehandhabt? Wie werden Dateiänderungsdaten gehandhabt?

Der aParameter behält symbolische Links, Dateiberechtigungen, Zeitstempel usw. bei. Wenn Sie diese Informationen nicht übertragen möchten, schließen Sie sie einfach aus dem Befehl aus. Sie gehören dann dem Benutzer, mit dem Sie sich bei der SSH-Sitzung angemeldet haben.

Wie reagiert rsync auf Fehler und wie lautet der Exit-Code?

Die meisten Befehle/Programme geben bei Erfolg 0 und bei einem Fehler eine andere Zahl zurück.Hier ist eine Liste der Rsync-Exitcodesals Referenz

verwandte Informationen