===== rsync ===== == UNIX-Programm zum Synchronisieren lokal und übers Netz == //kurze Anleitung// ((1)) Grundlegende Beschreibung ##rsync -avubrE --suffix=.alt erster_ordner/ zweiter_ordner## a - Archivemodus, Rechte etc. werden übernommen v - verbose = mehr Infos u - update, keine neueren Dateien mit älteren überschreiben b - Backup, falls zwei Dateien gleich lauten wird die ältere umbenannt r - rekursiv durch alle Unterverzeichnisse E - Attribute mit kopieren suffix=.alt - aus datei.abc wird im Fall der Überschreibung weil älter datei.abc.alt` ((1)) Einige Spezialfälle ((2)) Zeitstempel Wenn die Dateien an sich identisch sind, aber unterschiedliches Datum aufweisen, versucht rsync diese zu übertragen. Bei Verwendung von ```-t``` (Zeitstempel beibehalten) und ```--size-only``` werden Dateien nur nach Größe verglichen. Wenn die Größe übereinstimmt, kopiert rsync die Datei nicht, aber da -t angegeben ist, wird der Zeitstempel der Zieldatei aktualisiert, ohne sie erneut zu kopieren. **Aber**: nicht -u (Update) verwenden, da hierdurch bereits vorhandene Dateien übersprungen werden und die Aktualisierung des Zeitstempels vollständig übersprungen wird. Beispiel: ##rsync -vrt --size-only /src /dest## ((2)) RSYNC per SSH Beim Befehl über ein SSH-Tunnel sieht die Synchronisation von Verzeichnissen in etwa so aus: ##rsync -vae ssh root@:/pfad/zum/verzeichnis/ /zielpfad/lokal/## ((1)) Simples Backupsystem Notwendig: Einrichtung von CRON - siehe http://85.214.109.129/master/DokumentacjaCron (PL). Einzelne Schritte: ((2)) Login ohne Passwort über SSH ermöglichen Schlüssel generieren: ##ssh-keygen -t dsa -b 1024 -f /pfad/dateiname-schlüssel## (kein Passwort bei Nachfrage eingeben, sonst ist remote-Zugriff nicht möglich) Über Fernzugriff Schlüssel auf dem zweiten Rechner installieren ##ssh name-des-benutzers-auf-dem-entfernten-rechner@ip-des-anderen-rechners mkdir -p .ssh ... password:## (hier pwd eingeben, weil dies Login ist) dann geht es weiter: ##cat /pfad/dateiname-schlüssel.pub | ssh name-des-benutzers-auf-dem-entfernten-rechner@ip-des-anderen-rechners 'cat "">>"" .ssh/authorized_keys' ... password:## (letztes mal pwd eingeben) Jetzt funktioniert der login folgendermaßen: ##ssh -i /pfad/dateiname-schlüssel name-des-benutzers-auf-dem-entfernten-rechner@ip-des-anderen-rechners## ---- **Achtung!** Da im RasPI die o. g. Beschreibung nicht funktionierte, hier einige Hinweise [[https://www.thomas-krenn.com/de/wiki/OpenSSH_Public_Key_Authentifizierung_unter_Ubuntu aus der Beschreibung bei Thomas Krenn]]: ## ssh-keygen -b 4096 ssh-copy-id -i .ssh/key_rsa.pub user@IP-to-my-Machine ## ---- ((2)) Weitere Schritte Ordner erstellen: ##/storage/backup/## Skripte erstellen Vor den Funktionen mit Backup Verbindung testen - z. B. so: ##wget http://user:pwd@80.237.160.189/path/filename.xxx ping 80.237.160.189## Andere interessante Quellen in diesem Zusammenhang: - https://help.ubuntu.com/community/BackupYourSystem/TAR - http://www.macuser.de/forum/f27/automatische-backups-syncs-210626/