Zunächst muss ein Schlüsselpaar erstellt werden. Das machen wir mit ssh-keygen
ssh-keygen -b 4096 -t rsa -f rsync
Kein Passfrase eingeben sonst kann man das nicht automatisieren. Abschließend wurden die folgenden Dateien in ~/.ssh/
erstellt.
rsync (ist der private key)
rsync.pub (ist der public key)
Den Public Key auf BackupServer kopieren, damit der lokale Server autorisiert werden kann.
backup@BackupServer:~$ cd /home/backup/.ssh
backup@BackupServer:~/.ssh$ cat rsync.pub >> authorized_keys
backup@BackupServer:~/.ssh$ chmod 0600 authorized_keys
Achtung! Falls schon eine "authorized_keys" Datei existiert nicht überschreiben, sondern anhängen.
Zum Testen und um Akzeptieren des Zertifikates könnt ihr euch per SSH verbinden.
root@server:~$ ssh -i /root/.ssh/rsync backup@BackupServer
Wenn nun die Verbindung direkt aufgebaut wird, ohne die Abfrage eines Passworts, habt ihr alles richtig gemacht.
root@server:~$ rsync -e "ssh -i /root/.ssh/rsync" -avcuz /home/Tux/ ZielServer:/home/Tux/Tuxbackup/
Hier noch eine Übersicht welche Befehle es gibt:
-a Archiv: rekursiv, mit Links und allen Rechten (als das gleich wie: -rlptgoD)
-v Fortschrittsanzeige
-c Checksummen von Dateien vergleichen
-C Unwichtige Dateien ignorieren
-u Update: neue Dateien nicht überschreiben
-H Hardlinks auf dem Ziel synchronisieren
-n Nichts tun, nur zeigen, was getan würde
-e ssh SSH für die Verbindung nutzen
–delete Lokal gelöschte Dateien auch auf dem Ziel entfernen
–modify-window=N Toleranz für Zeitstempel, die Rsync noch als gleich auffasst
-z Zip: Dateien vor dem Übertragen komprimieren (spart Bandbreite, kostet Rechenzeit)