Hallo zusammen,
da Ubuntu One ja leider in Kürze den Service einstellt wollte ich mich mal an einem kleinen Backup-Skript per SSH versuchen. Grundlage war die Minimal Variante im Wiki: Skripte/Backup mit RSYNC, bei der ich lediglich SSH einbauen wollte... (Habe leider keine Erfahrung mit Bash-Skripten, wie man am Code wohl unschwer erkennt 😉)
SSH-Login funktioniert über Public-key Authentifizierung.
Ich habe dem rsync Befehl ssh hinzugefügt und einen zweiten SSH-Aufruf für den ln Befehl (dieser funktioniert so leider nicht). Auf dem Server liegt nach dem zweiten Backup die doppelte Datenmenge, obwohl ich nur ein kleines Textdokument verändert habe.
Außerdem liegt mein home-Ordner auf dem Server unter einem längeren Pfad. Das lässt sich bestimmt auch noch schöner machen.
1 | ssh ich@der.server.de:/hier/liegt/mein/homeordner/backup
|
funktioniert leider nicht, vermutlich weil ssh die Ordnerstruktur auf dem Server vor dem Login noch nicht kennt? (Name or service not known) Nach dem Login lande ich scheinbar automatisch im Ordner /hier/liegt/mein/homeordner/ und gehe dann manuell nach Backup.
Noch eine Kleinigkeit: Die Daten werden dann im Backup-Ordner nochmals unter dem gesamten Pfad abgelegt:
der.server.de:/hier/liegt/mein/homeordner/backup/Datum/home/ich/zu/sichernder/Ordner/
mir würde
der.server.de:/hier/liegt/mein/homeordner/backup/Datum/zu/sichernder/Ordner/ reichen.
Gibt es dafür eine einfache Lösung?
Vielen Dank schon einmal, hier noch mein Code-Schnipsel
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/sh quelle=~/zu/sichernder/Ordner/ ziel=ich@der.server.de:/hier/liegt/mein/homeordner/Backup/ server=ich@der.server.de heute=$(date +%Y-%m-%d) rsync -avzRe ssh "${quelle}" "${ziel}${heute}/" --link-dest="${ziel}last/" ssh "${server}" -t "cd Backup ; ln -nsf "${heute}" "last"" exit 0 |