-> Inter-Data
-> Blog
-> Dateien mit rsync synchronisieren unter Linux/Unix
Dateien mit rsync synchronisieren unter Linux/Unix
Dateien vom lokalen Linux-Rechner auf einen Linux-Server per `rsync` über SSH zu synchronisieren
Autor: DS
Um zum Beispiel Bilddateien von deinem lokalen Linux-Rechner auf deinen Linux-Server per rsync
über SSH zu synchronisieren, kannst du folgenden Befehl verwenden:
rsync -avz -e ssh /pfad/zur/quelle/*.jpg benutzername@serveradresse:/pfad/zum/ziel
Erklärung der Optionen:
-a
= Archivmodus (bewahrt Dateistruktur, Rechte, etc.)-v
= verbose (ausführliche Ausgabe)-z
= komprimiert die Daten während der Übertragung-e ssh
= verwendet SSH als Transport*.jpg
= nur JPEG-Dateien (du kannst auch*.png
,*.jpeg
,*.gif
usw. verwenden)benutzername@serveradresse
= dein Benutzername und die IP-Adresse oder Domain deines Servers/pfad/zum/ziel
= Zielverzeichnis auf dem Server
Beispiel:
rsync -avz -e ssh ~/Bilder/*.jpg max@123.45.67.89:/home/max/backup_bilder
Falls du ganze Verzeichnisse mit allen Bilddateien synchronisieren willst (rekursiv), wäre das:
rsync -avz -e ssh ~/Bilder/ max@123.45.67.89:/home/max/backup_bilder
Optional: nur bestimmte Dateitypen synchronisieren
rsync -avz -e ssh --include='*/' --include='*.jpg' --exclude='*' ~/Bilder/ max@123.45.67.89:/home/max/backup_bilder
Willst du, dass alte Dateien auf dem Server gelöscht werden, wenn sie lokal gelöscht wurden?
rsync -avz --delete -e ssh ~/Bilder/ max@123.45.67.89:/home/max/backup_bilder
Musst du den SSH-Port in deinem rsync
-Befehl anpassen, dann geht es so:
rsync -avz -e "ssh -p 2222" /pfad/zur/quelle/*.jpg benutzername@serveradresse:/pfad/zum/ziel
Weitere Beispiele mit Port 2222:
rsync -avz -e "ssh -p 2222" ~/Bilder/*.jpg max@123.45.67.89:/home/max/backup_bilder
Oder für ein ganzes Verzeichnis:
rsync -avz -e "ssh -p 2222" ~/Bilder/ max@123.45.67.89:/home/max/backup_bilder