Skip to content

Restic UI - Migrate

Restic UI
  • Da man ja seit Restic Version v0.14.0 nun Kompression hat gibt es dafür eine neues Repo Format mit Namen V2. Es gibt dazu auch Migrations Tools, die müssen dann jetzt auch ins Restic UI.

    Das Menü

    cb86e016-a023-4c7a-8bdc-97524ec3b968-image.png

    Teil 1 Migrate check

    Als erstes, wenn der Test erfolgreich war.

    9165e95e-6845-4eac-816d-7f8a9f4521d6-image.png

    Test nicht erfolgreich

    f33d2b78-7895-458f-a310-adad4213fe6a-image.png

    Teil 2 Migrate Update

    Ok, es wird komplizierter, da wird zweimal eine Passwortabfrage erwartet.... Hirn einschalten und grübeln....

    [frank-ms7c92 ~]# restic migrate upgrade_repo_v2 -r /mnt/Backup/Datensicherung_Home_Restic_UI/
    enter password for repository: 
    repository 50a2a753 opened (repository version 1) successfully, password is correct
    checking repository integrity...
    using temporary cache in /tmp/restic-check-cache-3584864968
    enter password for repository: 
    repository 50a2a753 opened (repository version 1) successfully, password is correct
    created new cache in /tmp/restic-check-cache-3584864968
    load indexes
    check all packs
    check snapshots, trees and blobs
    [0:05] 100.00%  13 / 13 snapshots
    no errors were found
    applying migration upgrade_repo_v2...
    migration upgrade_repo_v2: success
    
  • Yeah 🙂

    545cb6ac-d241-453b-8a08-00f6dd81fe1b-image.png

  • Hier die Lösung für das Problem.

    So sieht mein normaler Aufruf aus

    args = [restic,
            'migrate',
            '-r',
            'rest:https://%s:%s@%s:%s/%s' % (backup_data[row].rest_user,
                                             backup_data[row].rest_password,
                                             backup_data[row].rest_domain,
                                             backup_data[row].rest_port,
                                             backup_data[row].rest_folder)]
    
    result = subprocess.run(args,
                            input=pass_word.pw[0],
                            check=True,
                            capture_output=True,
                            text=True)
    

    Dabei wird halt einmal das PW übergeben, wir brauchen das aber zweimal s.o.

    In Restic gibt es folgendes

    export RESTIC_PASSWORD="I9n7G7G0ZpDWA3GOcJbIuwQCGvGUBkU5"
    

    Das müssen wir uns jetzt nutzbar machen.

    args = [restic,
            'migrate',
            'upgrade_repo_v2',
            '-r',
            backup_data[row].repository]
    
    result = subprocess.run(args,
                            env=dict(os.environ, RESTIC_PASSWORD=backup_data[row].password),
                            check=True,
                            capture_output=True,
                            text=True)
    

    Diese Zeile

    env=dict(os.environ, RESTIC_PASSWORD=backup_data[row].password),
    

    setzt die Umgebungsvariable.

    Jetzt muss ich mir mal eben Gedanken über die Sicherheit machen, ob ich das so lasse....

  • Wenn ich das aus VSCodium kopiere sieht das hier schrecklich aus. Da muss ich mich mal nach was anderem umschauen, das sieht ja hier im Forum einfach Sch.... aus.

    Update 30.08.22
    Habe da was in den Settings des Forums gefunden, das sollte jetzt besser passen.

  • Kurz noch was vom Restic Team

  • FrankMF FrankM hat am auf dieses Thema verwiesen

  • ResticUI with PyWebIO - Repo

    PyWebIO
    1
    0 Stimmen
    1 Beiträge
    83 Aufrufe
    Niemand hat geantwortet
  • Restic UI - Repo Version

    Restic UI
    1
    0 Stimmen
    1 Beiträge
    81 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    3 Beiträge
    165 Aufrufe
    FrankMF

    Hallo @berthold, du bist mein einziger Star 🙂 Ok, darum geht es mir ja nicht, wie Du weißt mache ich das hauptsächlich für mich und meine Backups klappen damit sehr gut. Ist also produktiv einsetzbar.

    Wie Du gemerkt hast, gibt es Zeiten da mache ich ganz viel und dann wieder Zeiten da passiert nix. Das ist bei mir normal, ich muss da "Bock" drauf haben. Habe ich viel Stress auf der Arbeit, passiert Abends eher sehr wenig..

    Ich hoffe das ich mittlerweile alle Fehler gefunden habe, die Grundfunktionen sind alle funktional. Mittlerweile kann man die JSON Datei mit den Daten der Backups auf Wunsch auch verschlüsseln 🙂

    Ich habe noch eine ganze Reihe an Notizen, was ich gerne noch machen möchte. Wichtig ist mir aber im Moment, das ich alle Fehler finde und das so wie es jetzt ist, einwandfrei läuft.

    Darum, wenn es jemand nutzt, bitte gebt Feedback. Egal ob positiv oder negativ. Ich freue mich persönlich natürlich mehr über positives Feedback 🙂

  • Restic v0.13.0 released

    Restic
    1
    0 Stimmen
    1 Beiträge
    96 Aufrufe
    Niemand hat geantwortet
  • Restic UI - auf PyQt6 umbauen

    Restic UI
    5
    0 Stimmen
    5 Beiträge
    184 Aufrufe
    FrankMF

    Ich hatte im Python Forum mal um Hilfe gebeten und man hat mir einen Hinweis gegeben, dem ich hier mal nachgehe.

    Der Forenuser meinte, das es ihn wundern würde, wenn ich von QtCore importieren müsste, also

    self.addDockWidget(QtCore.Qt.DockWidgetArea.RightDockWidgetArea, self.items)

    Das habe ich mal ausprobiert. Wenn ich von QtCore Qt importiere, kann ich das QtCore weglassen.

    from PyQt6.QtCore import QSettings, Qt

    dann geht auch

    self.addDockWidget(Qt.DockWidgetArea.RightDockWidgetArea, self.items)

    Es sieht so aus, das ich mich in dieses Thema noch ein wenig einarbeiten muss 🙂

  • Restic UI - Documentation

    Restic UI
    1
    0 Stimmen
    1 Beiträge
    206 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    1 Beiträge
    168 Aufrufe
    Niemand hat geantwortet
  • Restic UI - kurzes Video

    Linux
    1
    0 Stimmen
    1 Beiträge
    166 Aufrufe
    Niemand hat geantwortet