Restic: Implementieren Sie einen Webserver, um Backups anzuzeigen

Erstellt am 18. Nov. 2014  ·  42Kommentare  ·  Quelle: restic/restic

Implementieren Sie einen restic-Befehl, der einen Webserver startet, um Snapshots zu durchsuchen.

user interface feature suggestion

Hilfreichster Kommentar

Ich würde eine ganz andere Anwendung mit dem Namen restic-web empfehlen, die in go oder nodejs geschrieben ist und reagieren oder winklig ist, um alles tun zu können, was Sie über die Befehlszeilenschnittstelle tun können

Alle 42 Kommentare

Dies scheint eine Menge Komplexität für etwas zu sein, das nicht die Kernaufgabe eines Backup-Programms zu sein scheint. Wird das wirklich benötigt? Was ist der Anwendungsfall? Ich würde FUSE bevorzugen (https://github.com/restic/restic/issues/27).

Windows hat keine Sicherung. Einen einfachen Webserver zu haben ist mit http://golang.org/pkg/net/http/#FileServer sehr wenig Arbeit

Genau das, was ich dachte, es ist nicht viel Code und wahrscheinlich die einzige Möglichkeit, Snapshots in Windows zu durchsuchen.

Ich stimme zu. Irgendwann ist es Zeit für eine GUI, und ich denke, der natürlichste Schritt dazu ist ein eingebetteter Webserver, der es auf localhost oder sogar auf anderen Schnittstellen präsentieren kann, wenn es gewünscht wird. Jeder hat einen Webbrowser und man muss sich nicht mit Anwendungen herumschlagen.

@rakoo bist du daran interessiert als nächstes am Webserver zu arbeiten?

Gedanken zur Benutzeroberfläche:

  • Starten Sie den HTTP-Server mit restic server
  • restic schreibt eine HTTP-URL nach stdout, die zufällig generierten Benutzernamen und Passwort enthält, zB http://RarOjHogvueHov:egsevtekwucvith@localhost/snapshots
  • Der Webserver erfordert HTTP-Digest-Authentifizierung
  • Und es bindet nur an localhost

An etwas anderes als localhost zu binden sollte nicht unmöglich sein, aber wirklich schwierig. Vielleicht werden wir localhost für die erste Version hart kodieren und sehen, ob sich Benutzer beschweren.

Die Gedanken?

Dies ist mehr oder weniger das, was ich im Sinn hatte, außer ohne Benutzername/Passwort: IMO bieten sie wenig Wert gegen einen potenziellen Angreifer (wir würden reines HTTP verwenden, damit Benutzername und Passwort deutlich sichtbar sind).

Ich bin damit einverstanden, nur an localhost zu binden: Angesichts des Raums, in dem wir tätig sind, erwarte ich, dass der Benutzer über ssh auf seinen VPS zugreifen kann.

backupserver> restic server 5000

clientmachine> ssh -Nf -L 5000:backupserver:5000
clientmachine> open http://localhost:5000/

Mir ist klar, dass das ziemlich alt ist, aber +1 von mir. Ich glaube auch nicht, dass der eingebettete Benutzername / das eingebettete Passwort hilfreich ist, da dies sowieso alles hinter einem VPN steckt und ich möchte, dass es zur Systemstartzeit gestartet wird.

@yatesco Was ist Ihr Anwendungsfall für das Starten der besprochenen Webserver-Komponente beim Systemstart? Mir fällt keine ein, könnten Sie das näher erläutern?

Hallo @fd0 - es dient dazu, das Repository dem Team

Eher ungewöhnlich vielleicht, ich habe eine Menge Daten, die ich nicht herumhängen möchte. Daher ist es großartig, dieses Archiv als "Langzeitspeicher" zu verwenden, aber dann muss ich dem Team Zugriff darauf gewähren und eine Samba-Freigabe (zB # 377) oder eine Web-UI wäre toll

Okay, danke für die Erklärung.

Ist es möglich, den Fuse-Mount über Samba freizugeben? Ich bekomme es nicht zum Laufen, Ordner ist nicht sichtbar. Wie bringe ich die Sicherungshalterung dazu, "allow_other" zu verwenden?

Was zu tun ist, habe ich hier beschrieben: https://github.com/restic/restic/pull/754#issuecomment -276023059

Siehe auch Ausgabe #767 für die Sicherungshalterungsoptionen.

Brauchen wir nur einen Zuschauer? oder eine vollständige GUI für alle Aufgaben? Hier Funktionen, die ich mir für eine GUI vorstelle:

Wiederherstellungsfunktionen:

  • Schnappschüsse auflisten (mit Datum, Schnappschussgröße, Realgröße usw.)
  • Durchsuchen eines Snapshots (Sortieren, Suchen usw.)
  • Dateiversionsverlauf anzeigen
  • Wiederherstellen eines Snapshots oder einer Auswahl von Ordnern/Dateien auf dem lokalen Laufwerk des Benutzers

Admin-Funktionen:

  • Schnappschüsse entfernen
  • Backup
  • überprüfen
  • wieder aufbauen

Bei Electron behalten wir die plattformübergreifende/HTML5-GUI bei, jedoch mit zusätzlichen Funktionen wie Dateisystemzugriff, Exec-Befehlen, offenen SSH-Verbindungen, nativen Modulen usw.

Ich kann nicht für das Projekt sprechen, aber für mich würden die Wiederherstellungsfunktionen ausreichen.

Ich arbeite hauptsächlich an Windows-Boxen, die SSH-Verbindungen zu den Servern herstellen, und wenn die Dinge fehlschlagen, möchte ich schnell mein Backup-Laufwerk anschließen, um die fraglichen Dateien anzuzeigen / herunterzuladen.

Hallo Herren, habe gerade angefangen mit Restic zu arbeiten, wirklich gute Arbeit, thx! Meine fünfzig Cent zu diesem Thema. Nur 'Schnappschuss anzeigen' ist imho ein bisschen nutzlos (kann mit Fuse-Mount durchgeführt werden, der auf beliebige Weise wie nginx, Samba usw. veröffentlicht wurde), definitiv sollte es einige nützliche Aktionen geben, die ein Benutzer als nächstes ausführen kann, z. B. Dateien auf ausgewählten Hosts wiederherstellen, Wiederherstellen sql dump auf einen DB-Host, stellen Sie alles wieder her, was auf einfache Weise gesichert wurde. Es gibt zwei Hauptdinge: 1. Datensuche/-klassifizierung und 2. Machen Sie etwas unter den Daten (zB wiederherstellen, löschen, teilen, klassifizieren, Kopien vergleichen (diff) usw.). Warum nicht FUSE: Es geht überhaupt nicht um Windows, sondern um UX. Ein Web-Frontend für den Backup-Speicher mit umfangreicher Suche und einfacher Wiederherstellung (auf bestimmte Datentypen und Systeme zugeschnitten) zu haben, ist wirklich cool. Ich stelle mir Dutzende Anwendungsfälle vor, die für den Backup-Speicher sinnvoll sind (erweiterte Suche, Remote-Wiederherstellung, Vorschläge für Backup-Richtlinien, Datenmaskierung, PII-Schutz, Schreddern, Datencompliance, Berichterstellung usw.) und restaurieren) wäre schön! Für Backups, bei denen der Hauptzweck in den meisten Fällen nur darin besteht, die aktuelle Version von etwas im Falle einer Datenbeschädigung so schnell wie möglich wiederherzustellen, ist es gut genug, aber für Funktionen wie die Archivierung ist ein Web-Frontend ein Muss. Übrigens ist das Datenarchiv ein weiteres cooles Feature, z. B. bestimmte Daten von Restic Snap lösen und in das Langzeitarchiv verschieben, aber das ist eine andere Geschichte und kein Thema für den Thread) Und ja, wenn Sie sich dafür entscheiden, dies in Zukunft zu tun, imho das sollte in Rest-Server erfolgen und Kernfunktionen in Rest-API einschließen. Letzteres ist für die Integration mit Drittsystemen sinnvoll.

Ich würde eine ganz andere Anwendung mit dem Namen restic-web empfehlen, die in go oder nodejs geschrieben ist und reagieren oder winklig ist, um alles tun zu können, was Sie über die Befehlszeilenschnittstelle tun können

Könnte restic so etwas wie https://github.com/dokan-dev/dokany/ unter Windows verwenden?
Ich verwende cppcryptfs gelegentlich, um auf Ordner unter Windows zuzugreifen, die mit gocryptfs unter Linux verschlüsselt wurden, und es scheint ziemlich gut zu funktionieren.

Hallo,
Ich habe diesen Artikel gefunden: https://devblogs.microsoft.com/commandline/announcing-wsl-2/
Es sagt:

Da WSL 2 nun einen eigenen Linux-Kernel enthält, ist es vollständig mit Systemaufrufen kompatibel. Dadurch wird eine ganze Reihe neuer Apps eingeführt, die Sie innerhalb von WSL ausführen können. Einige spannende Beispiele sind die Linux-Version von Docker sowie FUSE!

Bitte beachten Sie, dass für WSL Hyper-V erforderlich ist, aber:

1) Hyper-V ist nur für einige Windows-Versionen verfügbar. Windows 10 Pro bietet beispielsweise Hyper-V-Unterstützung, während Windows 10 Home dies nicht tut.

2) Hyper-V kann nicht mit einer anderen Hypervisor-Software koexistieren, die der Benutzer möglicherweise bereits verwendet (wie VirtualBox usw.). Wenn also jemand bereits VirtualBox (oder einen anderen Hypervisor) verwendet, kann er WSL nicht verwenden.

Zusammenfassend finde ich, dass WSL nicht für jeden Windows-Benutzer selbstverständlich sein sollte.

@aliron19 Kannst du dafür eine Quelle nennen? Ich verwende WSL auf meinem Arbeits-PC, um Redis auszuführen, aber dies ist ein Windows 10 Home-PC, also kein Hyper-V und trotzdem funktioniert WSL einwandfrei.

siehe https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#does -wsl-2-use-hyper-v-will-it-be-available-on-windows-10-home

Danke fürs klarstellen. Scheint, dass die Hyper-V-Anforderung neu für WSL 2 ist, ich dachte, Aliron redet im Allgemeinen über WSL. Gut zu wissen, dass Hyper V für Benutzer von Windows 10 Home verfügbar sein wird.

Ich würde sagen, dass wir statt einer HTML-Schnittstelle einen Webdav-Server (#485) bevorzugen sollten.
Dies würde es den Benutzern auch ermöglichen, es einfach als Netzlaufwerk zum Windows-Explorer hinzuzufügen.

Wenn Sie einen Server (oder Unix/Linux) mit nodejs haben, können Sie das ganz einfach tun:

restic mount backup &
npx http-serve backup

Dann können Sie http://127.0.0.1 :8080 . durchsuchen
und sehen Sie Dateien:

Capture d’écran 2020-07-24 à 17 58 18

Wenn Sie fertig sind, können Sie:

CTRL + C # stop npx
fg # bring back restic
CTRL + C # stop restic

Ich weiß nicht, ob restic das Repository sperrt, während Sie es mounten, oder ob Sie in der Zwischenzeit weitere Backups hinzufügen können.
Aber immerhin können Sie eine kleine Weboberfläche haben, um Ihre Dateien zu durchsuchen.

@vincent-ogury Ich dachte, der Sinn dieser vorgeschlagenen Funktion besteht darin, eine benutzerfreundliche Backup-Ansicht bereitzustellen, in der restic mount _nicht_ verfügbar ist.

Sie haben Recht. Dies sollte in einem Docker unter Windows funktionieren, denke ich.
Für andere Plattformen kann eine Webversion sinnvoll sein.
Es kann die Befehlszeile vereinfachen, um Snapshots anzuzeigen, anzuzeigen, zu vergessen, neue Backups zu starten ...

Ich möchte an diesem Thema arbeiten. Die Idee ist, einen Vanilla-Go-HTTP-Server mit einigen grundlegenden HTML-Vorlagen zu implementieren. Unser Anwendungsfall ist eine universelle Basisschnittstelle für Restic unter Windows
Hier ist der Umfang meiner Aufgabe:

Problem
Restic bietet keine praktische Möglichkeit, die Backups unter Windows zu durchsuchen.

Aufgabe
Versuchen Sie, einen grundlegenden Machbarkeitsnachweis eines integrierten Webservers zu implementieren, der das Durchsuchen und Wiederherstellen der Backups mit einem Browser ermöglicht.

Beispiel
Durch Ausführen der folgenden Befehle werden zwei Backups erstellt und Sie erfahren, wie Sie die Backups über die Befehlszeile durchsuchen.

openssl rand -hex 10 > ~/.restic-password
restic -p ~/.restic-password init --repo /tmp/backup

Erstelle eine Sicherung

restic -p ~/.restic-password --repo /tmp/backup backup ~

Nehmen Sie einige Änderungen vor

Datum > ~/Datei-mit-Änderungen.txt

Mach das nächste Backup

restic -p ~/.restic-password --repo /tmp/backup backup ~

Schau, welche Backups du hast

restic -p ~/.restic-password --repo /tmp/backup Snapshots

Repository 2ad83051 erfolgreich geöffnet, Passwort ist korrekt

ID-Zeit-Host-Tags-Pfade

b8ee7b24 2020-09-11 17:20:17 thorsten-devvm-v3 /root

99388d0b 2020-09-11 17:21:23 thorsten-devvm-v3 /root

2 Schnappschüsse

Schauen Sie, was in einem Backup ist

restic -p ~/.restic-password --repo /tmp/backup ls -l 99388d0b

Rufen Sie eine JSON-formatierte Liste aller Dateien im Backup ab.

restic -p ~/.restic-password --repo /tmp/backup ls -l --json 99388d0b|jq

Überprüfen Sie, ob sich eine Datei im Backup befindet

restic -p ~/.restic-password --repo /tmp/backup find snmp.json

Wiederherstellen einer Datei

restic -p ~/.restic-password --repo /tmp/backup restore Latest --target /tmp/restore --include "/root/snmp.json"
Spezifikationen
Durch Ausführen von so etwas startet der Webserver und intern ist das Backup "offen".
restic -p ~/.restic-password --repo /tmp/backup webserver 127.0.0.1:3344

Wenn ich meinen Browser auf HTTP://127.0.0.1 :3344 erhalte ich die Liste aller Snapshots im Repository. Es sind dieselben Daten, die restic -p ~/.restic-password --repo /tmp/backup Snapshots anzeigt.

Ich kann auf die ID in der ersten Spalte klicken und erhalte eine Baumansicht aller Dateien im Snapshot. Dieselben Daten wie restic -p ~/.restic-password --repo /tmp/backup ls -l--json gibt zurück wird angezeigt. Die Baumansicht braucht weder ein- und ausklappen noch Icons am Anfang.

Oder ich klicke auf einen Pfad eines Snapshots (5. Spalte) und erhalte eine Liste der Dateien im Backup, die nur zu diesem Pfad gehören. Es werden dieselben Daten angezeigt wie restic -p ~/.restic-password --repo /tmp/backup ls -l--Weg--json

Ich kann auf eine einzelne Datei klicken und sie über den Browser herunterladen.

Im Idealfall kann ich auf eine Datei klicken und bekomme eine Liste aller verschiedenen Versionen, sortiert nach dem Datum dieser Datei.
Ein Snaphot bietet immer eine virtuelle Ansicht des gesamten Dateisystems. Um die verschiedenen Versionen einer Datei zu identifizieren, wird der folgende Befehl in der Befehlszeile verwendet.
restic -p ~/.restic-password --repo /tmp/backup find /root/snmp.json --json|jq
Alle Objekte, bei denen mtime identisch ist, müssen auf ein einziges Objekt reduziert werden, da sich die Dateien nicht geändert haben.

IMHO das Hinzufügen von Unterstützung für "restic mount" unter Windows mit etwas wie Dokany wäre sinnvoller, um den gleichen Wiederherstellungsworkflow unter Linux und Windows zu haben und eine bessere Benutzererfahrung mit OS Explorer zum Durchsuchen der Dateien zu bieten.

Bitte sehen Sie unter https://github.com/restic/restic/pull/2862 nach, welche Adressierung Restic does not provide a handy way to browse through the backups on Windows auf die gleiche Weise wie auf anderen Plattformen als Windows lösen soll.

Sicher, aber ich denke, es ist ziemlich schwierig für einen "typischen" Windows-Benutzer, die Befehlszeilenschnittstelle zu verwenden. Mein Ziel ist es, eine einfache und verständliche Schnittstelle bereitzustellen, die jeder Benutzer verstehen kann.

Als Workaround habe ich zusammengestellt, was @vincent-ogury und @celogeek vorgeschlagen haben (danke!) und diese Dockerdatei erstellt; https://github.com/stevedenman/restic-browser-docker
Ich habe es auf meinem Windows-Computer (in Docker auf wsl2) ausgeführt und es funktioniert gut zum Durchsuchen von Snapshots und zum Herunterladen von Dateien.

Entschuldigung Jungs meinst du ich soll es nicht tun? warum gibt es da ein problem? die vorgeschlagenen Lösungen sind für einen durchschnittlichen Benutzer in meinem Fall ziemlich schwierig, alles was wir tun müssen - Programm starten (mit den definierten Flags) und Browser öffnen!

Hallo.

Als anderer Restic-Benutzer wollte ich nur meine zwei Cent zu diesem Thema fallen lassen.

Ich bin ein technisch versierter Benutzer, daher bin ich damit einverstanden, wie die Dinge in Restic sind. Ich bin mir auch bewusst, dass Restic gegenüber technisch versierten Leuten ist; daher sind/könnten die aktuellen Lösungen für einige komplex sein. Aber ich sehe kein Problem mit der Implementierung eines lokalen Webservers, auf den über den Browser zugegriffen werden kann. Es sollte nicht die aktuellen Lösungen ersetzen, aber als Nebenlösung wäre es schön, so etwas zu haben. Und vielleicht würde das Restic noch mehr Menschen zugänglich machen.

Danke.

Ich stimme den Meinungen "es ist zu schwer für Windows-Benutzer" absolut nicht zu. Zunächst einmal haben es diese Benutzer bereits geschafft, restic auszuführen, um ihre Daten zu sichern, und das Ausführen des Mount-Befehls anstelle des Backup-Befehls ist nicht schwieriger. Zweitens sprechen wir über das Öffnen der Befehlszeile und die Eingabe von restic -r foo mount bar hier. Im Ernst, wie ist das für jemanden schwer? Wenn jemand damit ein Problem hat, müssen sich diese Leute weiterbilden. Dies ist nicht "schwer", sondern nur eine Befehlszeile entfernt.

BEARBEITEN: Nur um es klarzustellen, ich meine, dass dies für jeden Windows-Benutzer nicht schwer sein sollte, wenn restic mount an Windows arbeitet, wie in #2862 beabsichtigt - ich @filippobottega direkt unten geschrieben hat Dieser Kommentar ist für einen durchschnittlichen Windows-Benutzer einfach. Ich denke nicht, dass man WSL verwenden muss, um restic mount .

Hallo,
Ich habe mit WSL2 erfolgreich ein restisches Backup in Windows Explorer gemountet, aber es ist nicht so einfach, wie ich es erwarten werde.
Sie müssen:

  1. Installieren Sie WSL2 wie im Windows-Subsystem für Linux-Installationshandbuch für Windows 10 beschrieben
  2. Ändern Sie den Standardbenutzer von Ubuntu in root, wie in der Antwort von gurnec unter Can not edit /etc/nginx/nginx.conf von Windows aus erklärt.
  3. Melden Sie sich als Root bei einer Ubuntu-Sitzung an und mounten Sie das restliche Backup, wie in Wiederherstellen mit mount beschrieben , zum Beispiel restic -r /mnt/c/ResticBackup -p /mnt/c/ResticBackup/password-file.txt mount /mnt/restic

    Am Ende sehen Sie:

image

Zweitens sprechen wir über das Öffnen der Befehlszeile und die Eingabe von restic -r foo mount bar hier. Im Ernst, wie ist das für jemanden schwer?

Wenn Sie die BIOS-Optionen in Betracht ziehen, den Hypervisor arbeiten zu lassen, WSL einzurichten und Probleme zu diagnostizieren, die von Fehlfunktionen herrühren, usw. kann dies ziemlich mühsam sein. Aus meiner Sicht ist eine Anforderung zum Ausführen von Microsoft Hypervisor, die nicht mit VmWare und VirtualBox kompatibel ist, die ich verwende, für restic einfach lächerlich.

Webbrowser-Point-and-Click ist viel einfacher und auch http wird etwas besser unterstützt (Hinweis: Browser) als die Windows-Variante von smb, wenn Sie im LAN teilen möchten. Es ist auch nicht klar, ob Sie diese Halterungen überhaupt über smb verfügbar machen können, aber selbst wenn Sie können, steht der Punkt immer noch.

Aus meiner Sicht steht außer Frage, dass die Webbrowser-Option einfacher ist.

Wenn Sie BIOS-Optionen in Betracht ziehen, um den Hypervisor arbeiten zu lassen, WSL einzurichten und Probleme zu diagnostizieren, die von Fehlfunktionen herrühren usw.

@AndrewSav Das wird hier nicht diskutiert. Siehe Kommentar von @rawtaz (Hervorhebung von mir)

BEARBEITEN: Nur um das klarzustellen, ich meine, dass dies für jeden Windows-Benutzer überhaupt nicht schwer sein sollte, schlage nicht vor, worüber @filippobottega direkt unten geschrieben hat Dieser Kommentar ist für einen durchschnittlichen Windows-Benutzer einfach. Ich denke nicht, dass man WSL verwenden muss, um restic mount .

@cfbao Sie müssen dafür einen Kernel-Treiber installieren. Ich bin immer für eine Option, die keine zusätzlichen Kernel-Treiber erfordert. Ich denke, dies sollte keine Frage sein, dass es einfacher ist, ein Programm auszuführen und Ihren Browser zu öffnen, als eine Software von Drittanbietern zu installieren, danach wahrscheinlich neu zu starten und dann eine obskure Befehlszeile auszuführen (damit meine ich, dass Sie Befehlszeilenparameter angeben und eingeben müssen, im Browser können Sie einfach zur Navigation klicken).

Die Installation von Treibern von Drittanbietern hat auch den klaren Nachteil, dass sie sich auf das gesamte System auswirkt, wenn ein Fehler in diesem Treiber vorliegt. Auch hier ist eine Anforderung von restic für Drittanbietertreiber nicht sinnvoll, wenn es viel einfachere (Browser-)Optionen gibt.

Meines Erachtens widersprechen sich diese Optionen nicht, so dass restic beides unterstützen und somit auf die Bedürfnisse beider Gruppen eingehen kann.

@cfbao Sie müssen dafür einen Kernel-Treiber installieren. Ich bin immer für eine Option, die keine zusätzlichen Kernel-Treiber erfordert.

@AndrewSav Der Punkt ist, dass es sich um eine sehr einfache Aufgabe handelt, die jeder Windows-Restic-Benutzer problemlos ausführen kann. Der Grenznutzen der Implementierung eines Webservers wird daher stark reduziert und kann die Kosten für eine restriktive Entwicklung und Wartung nicht rechtfertigen.

@AndrewSav Das Webinterface ist schön, um sich im Backup umzusehen, das kann ich mir vorstellen. Aber wenn es eine Aufgabe gibt, mehrere Dateien aus verschiedenen Verzeichnissen wiederherzustellen, würde ich den anständigen Dateimanager und den als Dateisystem gemounteten Backup-Snapshot bevorzugen. Wenn restic eine WebDAV-Schnittstelle auf der Rückseite bereitstellen soll, die aufgrund der Einschränkungen des WebDAV-Clients unter Windows immer noch eine untergeordnete Lösung ist: 1) Die standardmäßige maximale Dateigröße beträgt 50 MB, der Benutzer müsste Registrierungsmanipulationen vornehmen, um sie auf 4 GB zu erweitern; 2) Einige Zeichen werden in Dateinamen nicht unterstützt.
Meiner Meinung nach sind das Webinterface und das richtige Mounten des Dateisystems komplementäre Funktionen mit etwas anderen Anwendungsfällen.
Der Kerneltreiber von Drittanbietern (zB http://www.secfs.net/winfsp/) muss nur einmal installiert werden und es ist kein Neustart erforderlich.
Ich verstehe auch das Argument "das Ausführen einer obskuren Befehlszeile" nicht ganz. Müssen Sie nicht auch einen Restic-Befehl ausführen, um das Webinterface zu aktivieren?

Danke an alle für euren Input! Fassen wir also die Dinge zusammen:

  • @fd0 hat zuvor die Implementierung eines HTTP-Serving-Repository-Browsers in dieser Ausgabe vorgeschlagen und damit genehmigt und in https://github.com/restic/restic/issues/60#issuecomment -122898872 näher ausgeführt.
  • Viele Leute halten es für eine gute Idee, diese plattformneutrale Funktion zum Durchsuchen von Snapshots und deren Dateien zu verwenden.
  • Eine allgemeine Meinung ist, dass wir auch Dateien daraus wiederherstellen möchten, soweit dies praktikabel ist (wir erwarten möglicherweise nicht, dass wir ein ganzes Archiv über den Webbrowser wiederherstellen können, es wäre eher ein "Herunterladen von Dateien". " Aktion).
  • Es sollte keine Schreiboperationen auf dem Repository ausführen, sondern nur Leseoperationen.
  • Obwohl WebDAV eine Option zum Durchsuchen von Dateien ist, ist die Client-Unterstützung problematisch. Wir könnten irgendwann auch WebDAV implementieren, aber weder das noch ein Webserver schließt das andere aus - das sind separate Funktionen.

Ich sehe nichts, was die Weiterarbeit und eine PR dafür verhindert. Ich persönlich unterstütze es. Ich denke wir sollten:

  • Fangen Sie klein an, erstellen Sie eine Web-GUI, die Snapshots und Dateien darin durchsuchen kann. Sobald wir eine solide Basis haben, fangen Sie an, Wiederherstellungsfunktionen hinzuzufügen.
  • Lassen Sie es mit dem Befehl restic serve http damit wir später andere Methoden hinzufügen können, um dies zu bedienen, wie z. B. restic serve webdav und vielleicht restic serve rest .
  • Lassen Sie es beim Starten des Servers einen temporären Benutzernamen und ein Passwort generieren, um
  • ermöglichen die Konfiguration der IP/des Hostnamens und des Ports zum Binden mit einem Argument, zB restic serve http 127.0.0.1:8080 .
  • Schreiben Sie keinen hässlichen Code, der Assets/HTML/JS/CSS hartcodiert, sondern betten Sie stattdessen eine richtige Web-GUI mit zB https://github.com/tv42/becky ein oder beginnen Sie sogar mit net/http/#FileServer .
  • Beachten Sie, dass dies eine Funktion ist, deren Fertigstellung einige Zeit in Anspruch nehmen wird. Wir werden dies nicht über Nacht tun.

Bestehende Arbeiten und ähnliche Referenzen:

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

e2b picture e2b  ·  4Kommentare

christian-vent picture christian-vent  ·  3Kommentare

ikarlo picture ikarlo  ·  4Kommentare

fd0 picture fd0  ·  4Kommentare

shibumi picture shibumi  ·  3Kommentare