Restic und Windows...
Was gibt es beruhigenderes als ein funktionierendes, verschlüsseltes Off-Site-Backup? Und dann noch mit Snapshots. Das wäre SCHÖN!
Klingt für's erste einmal sehr aufwendig, ist es aber nicht. Unter Unix/Linux hat man sicher schon von restic gehoert. Hier gibt's viele Möglichkeiten (rsync, scp, ...), die man unter Unix gewöhnt ist. Wie schaut's unter Windows aus?
Erstmals gleich einfach :) Restic bietet vorkompilierte Binaries auch für Windows an. Unter Windows 2019 hat man zudem auch schon openssl out-of-the-box installiert, sodass eigentlich nicht mehr viel im Weg steht.
Die Konfiguration: Ein Linux-Gerät (abz-rpi-01) mit angeschlossener Festplatte (die dann weiter auf ein RAID einer Synology gespiegelt wird...) dient als Repository. Ein SSH-Server ist da bereits eingerichtet.
Auf der Windows-Seite sind wenige Schritte notwendig:
- erstellen eines Schlüsselpaares (keygen.exe)
- abspeichern der Schlüssel in ~/.ssh (bei mir also /Users/Administrator/.ssh)
- eine config-Datei (damit dieser Schlüssel auch zu intern.abz-informatik.at und der entsprechende Backupbenutzer verwendet wird)
- dann gibt's noch eine Passwortdatei (da ja das repository verschlüsselt werden muss). Ich hab' das gleich in ~/.ssh mitabgelegt und die Rechte entsprechend gesetzt.
- kurzer Test ob ssh auch richtig funktioniert; und passt :)
Mehr benötigt man hier an Infrastruktur nicht. Restic selbst ist -- wenn man git kennt -- fast schon intuitiv zu bedienen :)
Schau'n wir uns die Schritte an. Ganz zu Beginn, wird das repository angelegt (man erinnert sich vielleicht an "git init" :)). Ich hab' hier sftp als Verbindungstechnologie gewählt, da hier keine weiteren Ausnahmen in meiner Firewall zu erstellen sind:
Der Hinweis mit dem Verlieren des Passworts ist natürlich klar :) Ein repository ohne Passwort kann gar nicht erstellt werden. Sehr gescheit!
Hier nun ein screenshot einzelner Befehlszeilen:
- Man sieht, ich will hier ein Backup von c:\inetpub\wwwroot machen. Initial werden 11419 Dateien übertragen. Das dauert auch nicht lang' (durch die Kompression, die git mitbringt, werden schnell aus knapp 1,8 GByte 350 MByte.
- Im zweiten Schritt sollte man natürlich überprüfen, ob das Backup auch funktioniert hat. "check" ist hier der passende Parameter...
- Dann noch ein erneutes Backup. Zwei Änderungen wurden hier festgestellt (und natürlich auch nur diese übertragen).
Am Server sieht man das Respository so:
In der Dokumentation sieht man noch viele weitere Schritte, die man im Betrieb benötigt (Vergleich von Snapshots, Rücksichern von einzelnen Dateien etc.). Also: Meines Erachtens eine "runde" Lösung für Windows und Unix.