Irgendwann letztes Jahr kam ich auf die Idee mir ein wenig Python beizubringen. Dazu schwebte mir ein User-Interface für Restic vor. Meine Wahl für das Webinterface fiel auf PyQt5.
Also ging ich an die Arbeit, ohne Vorkenntnisse und habe meine ersten Versuche gemacht. Am Anfang mit dem Qt-Designer. Das war aber für mich ungeeignet, da mir die grundlegenden Vorkenntnisse fehlten. Dann halt von der Picke auf und Zeile für Zeile erarbeiten. Hinterher hat sich für mich raus gestellt, das ich die Zusammenhänge so viel besser verstanden habe.
Die Wahl auf Restic fiel, weil ich Restic für sämtliche Datensicherungen einsetze. Da die Daten verschlüsselt sind ist es auch egal wenn sie z.B. auf meiner Nextcloud Instanz liegen. Außerdem kenne ich Restic mittlerweile sehr gut, so das mir von dieser Seite aus relativ wenig Probleme Schwierigkeiten bereiten sollten.
Hier ein paar Eindrücke vom Projekt.
Startfenster
Wir legen ein neues Backup an
Eingabe für neues Backup
Wir initialisieren das Backup
Ausgabe Init
Ausgabe von einem Backup / Snapshot
Snapshots anzeigen
Ausgabe Snapshots
Ich denke, das Grundkonzept sollte erkennbar sein. Es gibt noch mehr Funktionen
- Edit Backup
- Delete Backup
Als Restic Funktionen
- Mount
- UMount
- Restore
- Check
- Prune
Als Tools
- Restic Version
- Settings
Jemand meinte zu mir "Software ist nie fertig...:", mittlerweile weiß ich was damit gemeint ist. Ich bin jetzt an einem Stand, wo die Funktionen alle funktionieren. Ich keine groben Fehler mehr finde, ich aber mit dem Konzept nicht mehr so richtig zufrieden bin. Anders ausgedrückt, ich würde mit dem Wissen von heute, vieles anders machen.
Ich denke ein guter Grund für einen Reset und das Projekt neu zu denken :)