restowbackup

← Zurück zur Übersicht

Roadmap

Was Restow heute kann, was als Nächstes und später geplant ist und was nicht vorgesehen ist. Der Zeitstrahl beginnt beim aktuellen Release und bewegt sich beim Scrollen; frühere Releases stehen darunter. Geplante Punkte tragen keine Versionsnummern und keine Termine, und eine Funktion gilt erst als ausgeliefert, wenn sie in einem veröffentlichten Release steckt.

Zu den früheren Releases ↓

  1. Ausgeliefert, aktuelle Release-Linie

    0.4.0 bis 0.4.7

    Dateifreigaben, unveränderbare Backups, Ransomware-Erkennung, SharePoint, Archiv-Erfassung aus dem Postfach, Microsoft-365-Gruppen, Update-Zeitraum für Lizenzschlüssel, nicht mehr gesicherte Objekte, Ablauf-Erinnerungen

    Das Update auf 0.4.0 führt siebzehn Datenbankmigrationen aus. Dateifreigaben und das Verschieben der Datenbank brauchen die docker-compose.yml von 0.4.0; führen Sie deshalb nach dem Update den Installer von 0.4.0 erneut aus. SharePoint braucht eine zusätzliche Berechtigung und eine neue Admin-Zustimmung je Mandant. Lesen Sie zuerst die Hinweise zum Update von 0.4.0. Das Update auf 0.4.4 führt vier weitere Migrationen aus (0059 bis 0062); sie bauen Indizes auf den größten Tabellen, planen Sie das Update einer großen Installation deshalb außerhalb des Sicherungsfensters. Mail-Jobs, die schon vor 0.4.4 archiviert haben, arbeiten genau wie vorher weiter: Nichts Neues startet von selbst. Das Update auf 0.4.5 führt drei weitere Migrationen aus (0063 bis 0065); keine schreibt eine Tabelle um. Ab dann hält ein Image, das von Hand mit einem Business- oder Service-Provider-Schlüssel gestartet wird, der es nicht abdeckt, vor seinen Migrationen an (jeder bisher ausgestellte Schlüssel ist eine Beta-Lizenz und deckt jedes 0.x- und 1.x-Release ab). Microsoft-365-Gruppen sind Opt-in: Nach dem Update wird keine Gruppe gesichert, bis die Schutzregeln es einschalten. Das Update auf 0.4.6 führt keine Migration aus; aktualisieren Sie restow-pve auf jedem Proxmox-VE-Knoten, bevor Sie sich auf Container-Restores oder Startprüfungen verlassen. Das Update auf 0.4.7 führt vier weitere Migrationen aus (0066 bis 0069); keine schreibt eine Tabelle um, und restow-pve braucht kein Update. Das Update schließt keinen Proxmox-VE-Gast aus und setzt keinen Preis. Objekte, die schon verwaist waren, gelten als bestätigt. Deaktivierte und unlizenzierte Postfächer sowie gesperrte OneDrives und Websites, die jede Nacht scheiterten, erkennt der erste Verzeichnisabgleich oder die erste Sicherung nach dem Update (eine gesperrte Website an ihrer ersten Sicherung): Erwarten Sie je Objekt einen Hinweis (ein Benutzer ohne Lizenz hat oft zwei, Postfach und OneDrive) oder eine Warnung für einen Mandanten mit vielen, und bestätigen Sie sie unter den geschützten Objekten, sobald sie beabsichtigt sind. Quellen, die vor 0.4.7 über eine eigene App verbunden wurden, haben kein Ablaufdatum und damit keine Erinnerung, bis es auf der Seite der Quelle eingetragen ist, und eine zentrale App, deren Secret aus der Umgebung kommt, braucht ENTRA_CLIENT_SECRET_EXPIRES_AT. Webhooks und Benachrichtigungsempfänger bekommen die neuen Ereignisse erst, wenn sie in der Benachrichtigungsmatrix angehakt sind. Ein Rollback nach den Migrationen von 0.4.5 (auf 0.4.4) oder von 0.4.7 (auf 0.4.6) wurde nicht getestet: Ziehen Sie vor dem Update ein Datenbank-Backup.

    • Dateifreigaben (SMB und NFS)

    • Backup und Restore von Dateifreigaben

      Sichert eine SMB-Freigabe (Windows Server, Samba, ein NAS) oder einen NFS-Export vom Server aus, ohne Agent auf dem Dateiserver. Restow bindet sie für die Dauer eines Laufs schreibgeschützt in einem kurzlebigen Runner-Container ein, den der Mounter startet, und hält NTFS-Berechtigungen (bei NFSv4 und POSIX ACLs nach bestem Bemühen) in jedem Sicherungsstand fest. Geöffnete, nicht lesbare und Offline-Dateien werden übersprungen und aufgelistet; der Lauf endet dann mit Warnungen. Wiederherstellen als ZIP, in einen neuen Ordner, an den ursprünglichen Ort (überschreiben, beide behalten, überspringen) oder in eine andere Freigabe, mit Berechtigungen, wo das Ziel sie erlaubt. SMB 2.1 bis 3.1.1; SMB1 und NTLMv1 werden abgelehnt. Neue Installationen starten den Mounter standardmäßig; eine bestehende bekommt ihn über „Netzlaufwerke einschalten“. Im Release-Smoke-Lauf gegen Samba getestet, nicht gegen Windows Server, eine Synology- oder TrueNAS-Freigabe, echte NFS-Exporte oder einen Host mit SELinux im Enforcing-Modus. Kein VSS über SMB: Dateien, die mit exklusiver Sperre geöffnet sind, werden übersprungen.

      0.4.0 Jede Edition

    • Dateifreigaben: Restore-Prüfungen, Kopierjobs und Budgets

      Jeder neue Sicherungsstand wird geprüft, indem bis zu 20 Stichproben-Dateien zurückgelesen und verglichen werden; das Repository bekommt wöchentlich einen restic-Check von 5 Prozent seiner Daten, und die Wiederherstellbarkeit bewertet eine Freigabe nach ihrem neuesten Sicherungsstand. Kopierjobs schreiben den neuesten geprüften Sicherungsstand einer Freigabe in einen Ordner einer anderen, im Modus Überschreiben oder Spiegeln; ein Kopierjob führt keine Versionen und ist als Nicht-Backup gekennzeichnet. Budgets je Freigabe, je Mandant und als Standard (standardmäßig aus, von Provider-Admins gesetzt) warnen bei 80 Prozent und lehnen bei 100 Prozent neue Sicherungen ab. Freigaben zählen im Status, auf der Startseite, bei der Wiederherstellbarkeit, in Warnungen, im Verlauf, in der Statistik und in der Provider-Ansicht. Noch nicht: andere Repositories als das primäre, Self-Service-Restore für Mandantenbenutzer und ein Freigaben-Block in zeitgesteuerten Berichten.

      0.4.0 Jede Edition

    • Schutz vor Ransomware und Missbrauch

    • Unveränderbare Backups

      Unveränderbarkeit je Repository, aus, bis ein Administrator sie einschaltet (Repositories, „Unveränderbarkeit ändern“). Auf S3 sperrt Object Lock (Compliance oder Governance, 1 bis 3650 Tage) die Packs, Manifeste und umhüllten Schlüssel des Chunk-Stores (Microsoft 365, IMAP, Proxmox-VE-Festplatten) und die Objekte jedes restic-Repositorys (Rechner, Freigaben, Proxmox-VE-Container). Restow prüft zuerst den Bucket, erneuert die Sperre von Daten, die noch gebraucht werden, behandelt eine vom Speicher verweigerte Löschung als „noch nicht“ und sendet nie den Governance-Bypass-Header. Bei Verzeichnissen (das Docker-Volume, eine NFS-Freigabe) sorgt eine Löschverzögerung dafür, dass der Code von Restow selbst eine Datei erst nach Ablauf der Frist löscht oder überschreibt; sie schützt vor Missbrauch von Restow, nicht vor jemandem mit Zugriff auf den Server, und die Oberfläche sagt, dass es keine Unveränderbarkeit ist. Sicherungsstände zeigen „Unveränderbar bis <Datum>“, grün nur bei einer Compliance-Aufbewahrung, die der Speicher selbst gemeldet hat; Prüfergebnisse und Warnungen erscheinen auf der Repository-Karte, im Dashboard und in der Provider-Ansicht. Den Schutz zu senken braucht den Provider-Inhaber mit einer frischen Anmeldung. Gegen ein simuliertes S3 mit Object Lock getestet, noch nicht gegen einen echten Dienst; das Standard-Repository der Installation lässt sich nicht unveränderbar machen.

      0.4.0 Jede Edition

    • Ransomware-Erkennung mit angehaltener Aufbewahrung

      Jeder neue Sicherungsstand eines Rechners, einer Freigabe, eines Proxmox-VE-Gasts, eines Postfachs, eines OneDrives, einer SharePoint-Website oder eines IMAP-Kontos wird anhand von Daten, die das Backup ohnehin hat, auf Anzeichen von Ransomware beurteilt: die Menge der Änderungen gegenüber dem Verlauf des Objekts selbst, Massenlöschungen, umbenannte Endungen, bekannte Ransomware-Endungen und Lösegeldforderungen, die Entropie von Stichproben neuer Dateien sowie das Komprimierungs- und Deduplizierungsverhältnis der neuen Daten. Ein verdächtiger Sicherungsstand bekommt ein Kennzeichen „Verdächtig“, und die Restore-Ansichten bieten den neuesten ohne Befund an. Solange er ungelöst ist, hält eine angehaltene Aufbewahrung Aufbewahrung und Bereinigung dieses Objekts an, damit saubere ältere Sicherungsstände nicht gelöscht werden, während verschlüsselte sich anhäufen; nur ein Administrator beendet das (Fehlalarm oder „Aufbewahrung freigeben“, protokolliert). Es liest die Daten nie ein zweites Mal, blockiert nie ein Backup und ist kein Virenscanner. Einige Signale brauchen Agent 0.4.0 auf Rechnern oder restow-pve 0.4.0 auf dem Knoten, und ein Signal ohne Daten sagt „nicht verfügbar“, nie „unauffällig“. Nach dem Update eingeschaltet, mit Schwellen und Schaltern unter Installation, Ransomware-Erkennung. Mit simulierten Angriffen getestet, nicht mit echter Ransomware.

      0.4.0 Jede Edition

    • S3-Endpunkte brauchen HTTPS

      Ein neuer oder geänderter S3-Endpunkt über unverschlüsseltes http:// wird abgelehnt, auch für Provider-Admins und den Standard der Installation, außer zu localhost, 127.0.0.1 und [::1]. Früher gespeicherte Endpunkte laufen weiter und sagen in Rot, dass sie auf HTTPS umziehen sollten; S3_ALLOW_INSECURE=true erlaubt unverschlüsseltes HTTP nur für Test- und Entwicklungsumgebungen.

      0.4.0 Jede Edition

    • Benachrichtigungen

    • Benachrichtigungsmatrix

      Unter Integrationen, Benachrichtigungen sind die Ereignisse die Zeilen, nach Schweregrad gruppiert und markiert, und die Glocke, jeder Webhook und jeder Benachrichtigungsempfänger die Spalten, jeweils mit den Schnellauswahlen „Nur Fehler“, „Fehler und Warnungen“ und „Alle“. Das Speichern wird protokolliert. Das Update füllt jede Spalte mit genau dem, was der Kanal vorher bekam, sodass sich zunächst nichts ändert; ein danach angelegter Webhook startet mit den Voreinstellungen seines Formats, und eine Alarmregel sendet ein Ereignis nicht mehr an einen Kanal, dessen Spalte es ausgeschaltet hat. Neue Ereignisse: backup.succeeded und verify.completed für Mail und die Glocke, backup.suspicious und backup.suspicious_hold, boot_test.failed und boot_test.unproven sowie installation.disk_low für Provider-Admins.

      0.4.0 Jede Edition

    • Proxmox VE (Preview)

    • Proxmox VE: Fortschritt einer laufenden Sicherung

      VMs & Container, das Inventar und die Seite eines Gasts zeigen einen Fortschrittsbalken („34% · 3,2 GB von 9,4 GB · 85 MB/s“), und die eigenen Zeilen des Helfers (die Lauf-ID, was restic hinzugefügt hat, was es nicht lesen konnte) gelangen in das Log des Laufs; eine Sicherung, die mit Lücken erfolgreich war, nennt die ersten 20 nicht lesbaren Elemente. Container-Sicherungen lassen restic jetzt zuerst scannen, sodass es eine Gesamtmenge gibt, gegen die sich der Fortschritt zeigen lässt. Braucht restow-pve 0.4.0 auf dem Knoten. Gegen den simulierten Knoten der Testsuiten getestet, nicht gegen einen echten Proxmox-VE-Knoten.

      0.4.0 Jede Edition

    • Proxmox VE: Startprüfungen von Sicherungsständen

      Ein Proxmox-VE-Job kann den neuesten Sicherungsstand jedes Gasts wöchentlich oder nach jeder Sicherung booten (standardmäßig aus; standardmäßig ein Speicherlimit von 8 GiB und fünf Minuten Wartezeit auf den Gast-Agent), und „Jetzt Start prüfen“ fordert eine Prüfung von Hand an. Der Knoten stellt ihn als neuen Gast im Pool restow-restore wieder her, isoliert ihn vor dem Start (Netzwerkverbindungen getrennt, Passthrough-Geräte, serielle Ports, Bind-Mounts und das Hook-Skript entfernt), wartet auf den QEMU-Gast-Agent und zerstört ihn in jedem Fall. Grün, wenn der Gast-Agent geantwortet hat, gelb, wenn die VM nur gestartet ist, rot, wenn Wiederherstellung, Start oder Boot fehlschlugen; die Wiederherstellbarkeit bewertet den neuesten Sicherungsstand nach seiner Startprüfung. Eine Prüfung je Knoten zur Zeit, nie neben einer Sicherung. Braucht restow-pve 0.4.0; gegen den simulierten Knoten getestet, nicht gegen einen echten Proxmox-VE-Cluster.

      0.4.0 Jede Edition

    • Proxmox VE: Datei-Restore von Containern und VMs (Vorschau)

      Unter Server & Clients, Datei-Restore ist jeder Container mit einem Sicherungsstand in der Gruppe „Proxmox-VE-Container“ aufgeführt und jede VM in „Proxmox-VE-VMs“, mit „Vorschau“ markiert: einen Sicherungsstand durchsuchen und Dateien und Ordner als eine ZIP-Datei herunterladen, vom Server aus dem Repository des Gasts gelesen; Lesen und Herunterladen werden protokolliert. Bei VMs ist jedes lesbare Dateisystem der Festplatten ein Ordner (GPT- und MBR-Partitionen und lineare LVM-Volumes mit ext2, ext3, ext4, XFS, NTFS oder FAT), gelesen in einem eingeschränkten Kindprozess, ohne dass auf dem Server oder dem Knoten etwas eingebunden wird. Nicht lesbar: btrfs, ZFS, ReFS, LVM thin, RAID, BitLocker und LUKS, NTFS-komprimierte und EFS-Dateien; die Logs von XFS und NTFS werden nicht abgespielt, vergleichen Sie also eine wichtige Datei mit dem Original, bevor Sie sich darauf verlassen. Einzelne Dateien in einen laufenden Gast zurückzuspielen ist nicht gebaut.

      0.4.0 Jede Edition

    • Proxmox-VE-Jobs unter Server & Clients

      Proxmox-VE-Jobs erscheinen unter Server & Clients, Jobs neben den Rechner-Jobs, mit einer Spalte Typ, den Gästen je Job, Zeitplan, letztem und nächstem Lauf und „2 von 5 Gästen fertig“, während eine Runde läuft; eine von Hand gestartete Sicherung erscheint als Zeile, bis sie endet. „Neuer Job“ ist ein Menü mit einem Eintrag je Typ, und das Formular des Proxmox-VE-Jobs listet die VMs und Container auf, die in den Job kommen. Auf der Seite eines Gasts steht, was eine Folgesicherung im Schnitt hinzufügt.

      0.4.0 Jede Edition

    • Server und Clients

    • Richtlinien für Agents

      Regeln für die Agents auf Servern und Clients auf drei Ebenen: die Installation (Installation, Richtlinie der Agenten), der Mandant und der Backup-Job. Jede Ebene darf eine Einstellung überschreiben, sofern die Installation sie nicht sperrt, und jede Ansicht sagt, woher ein Wert kommt. Die Einstellungen: ein Sicherungsfenster (Wochentage und ein Zeitraum), in dem geplante Sicherungen, Nachholläufe und Wiederholungen starten dürfen; „Verpasste Sicherungen nachholen“, sobald der Rechner wieder an ist oder im nächsten Fenster, auf Wunsch nur bis zu einem Höchstalter; ein Upload-Limit für Jobs ohne eigenes; „Nur am Netzteil“; und die Zahl der automatischen Wiederholungen (0 bis 10). Die Seite eines Rechners zeigt die Richtlinie, die für ihn gilt, und warum eine fällige Sicherung wartet. Fenster, Nachholen, Wiederholungen und der Wartegrund brauchen Agent 0.4.0; Upload-Limit und Netzteil erreichen auch ältere Agents. Nur gegen simulierte Dienste getestet.

      0.4.0 Jede Edition

    • Datei-Restore für die Restore-Rolle

      Restore-Operatoren (die Restore-Rolle eines Mandanten) öffnen Server & Clients, Datei-Restore: Sie listen die Rechner auf, lesen deren Sicherungsstände und Unveränderbarkeit, durchsuchen sie, laden Dateien als ZIP herunter und stellen Dateien auf dem Rechner wieder her. Bei Proxmox VE lesen sie die Übersicht und die Sicherungsstände eines Gasts und durchsuchen und laden Dateien von Container- und VM-Sicherungsständen herunter. Einstellungen, Tokens, Jobs, Sichern, Prüfen und Startprüfungen, das Wiederherstellen eines ganzen Gasts sowie Sperren oder Löschen bleiben bei den Administratoren. Jedes Lesen, Herunterladen und Wiederherstellen wird mit dem Operator als Akteur protokolliert.

      0.4.0 Jede Edition

    • Datenordner, die ein Job auslässt, und als was ein Rechner läuft

      Der Agent 0.4.0 meldet, welche Ordner aus einer festen Liste von Linux-Datenordnern (/opt, /usr/local, /srv, /var/www, Docker- und Podman-Volumes, die PostgreSQL-, MySQL- und MongoDB-Ordner unter /var/lib) vorhanden sind und Dateien enthalten, nur die Namen. Der Job-Editor nennt die Ordner, die die Rechner des Jobs wirklich haben und der Job auslässt, und die Seite eines Rechners bietet „Diesen Ordner hinzufügen“ an. Die Seite eines Rechners sagt, als was er läuft (Container, virtuelle Maschine, physisch, mit oder ohne Desktop), und ein Linux-Rechner in einem Container oder einer virtuellen Maschine ohne Desktop bekommt das Server-Profil; der Datei-Browser eines Sicherungsstands sagt, welche Ordner er enthält.

      0.4.0 Jede Edition

    • Jobs, Live-Ansicht und Dashboard

    • Empfohlenen Job anlegen

      Neben jedem Hinweis „kein Job“ (Jobs, Inventar, Quellen, Verzeichnis, VMs & Container) und als „Alles ohne Job schützen“ auf der Bereitschaftskarte des Dashboards: eine Vorschau, was der Klick anlegt oder erweitert, dann ein Job je Art (Mail alle 8 Stunden; Rechner je System und Profil; ein Proxmox-VE-Job, täglich um 22:00 im Snapshot-Modus). Ein zweiter Klick ergänzt denselben Job, statt einen neuen anzulegen. Nur für Administratoren, im Audit-Log vermerkt.

      0.4.0 Jede Edition

    • Laufende Sicherungen in der Seitenleiste und eine lebendigere Lauf-Schublade

      Die Einträge Jobs und VMs & Container zeigen einen Spinner mit der Zahl der laufenden und der wartenden Sicherungen; der Tooltip listet sie auf, ein Klick öffnet den Lauf. In der Lauf-Schublade bewegen sich die Diagramme mit der Zeit zwischen den Messungen, die Zahlen zählen hoch, die Restzeit läuft herunter, und eine Zeile sagt, wann der Lauf sich zuletzt gemeldet hat (oder dass Microsoft Graph ihn drosselt). Die erste Sicherung eines großen Postfachs zeigt „Erste Sicherung: X von Y Elementen“ über alle Versuche, mit geschätzter Restzeit; ein OneDrive zeigt „X Elemente bisher“, bis es vollständig aufgelistet ist.

      0.4.0 Jede Edition

    • Alle Mandanten in Jobs

      Unter „Alle Mandanten“ listen Jobs von Mail & SaaS und von Server & Clients jeden Mandanten mit seinen Jobs je Art, was läuft und wartet, wie die neuesten Sicherungen endeten und dem nächsten Lauf, mit Filtern und Sortierung; eine Zeile öffnet die Jobs des Mandanten schreibgeschützt. Die Ansicht bleibt auf großen Installationen schnell, weil sie über einen Index liest und die Zahlen jedes Mandanten 30 Sekunden vorhält.

      0.4.0 Service Provider

    • Speicherwachstum im Dashboard

      Das Dashboard zeigt, wie die gespeicherten Daten eines Mandanten über 1 Woche, 1 Monat, 3 Monate oder 1 Jahr gewachsen sind; ab 3 Monaten ist die Schätzung ein Band zwischen dem langsamsten und dem schnellsten Wachstum, und wo der freie Platz bekannt ist, sagt es, wann das Repository bei diesem Wachstum voll ist.

      0.4.0 Jede Edition

    • Microsoft 365

    • SharePoint Online: Backup und Restore von Websites

      Jeder Verzeichnisabgleich findet die SharePoint-Websites des Mandanten (einschließlich der Websites von Microsoft-365-Gruppen und Teams; persönliche Websites bleiben dem OneDrive ihres Besitzers überlassen), und jede Website ist ein eigenes geschütztes Objekt, in den Mail-Jobs wie Postfächer und OneDrives; die Schutzregeln haben einen Websites-Modus, alle Websites oder ausgewählte. Ein Backup enthält jede Dokumentbibliothek (auf Wunsch mit Versionen), jede Liste mit ihren Spalten und den Feldwerten jedes Elements als JSON sowie die Beschreibung der Website. Restore im Explorer: Download als ZIP; Dateien und Ordner in die ursprüngliche oder eine andere Bibliothek einer gesicherten Website (beide behalten, überschreiben, wobei SharePoint die alte Datei als Version behält, oder vorhandene überspringen); Listenelemente als neue Elemente in ihre ursprüngliche Liste, nur beschreibbare Felder. Nicht gesichert oder wiederhergestellt: Teams-Chats, Anhänge von Listenelementen, Website-Design, Navigation und Workflows; Berechtigungen werden als Information festgehalten und nie wiederhergestellt; eine gelöschte Website oder Bibliothek wird nicht neu angelegt. Braucht die Anwendungsberechtigung Sites.ReadWrite.All (Sites.Read.All genügt zum Sichern) und eine neue Admin-Zustimmung je Mandant. Gegen ein simuliertes Microsoft Graph getestet, nicht gegen einen echten Microsoft-365-Mandanten.

      0.4.0 Jede Edition

    • Updates, Datenbank und Speicher

    • Laufende Sicherungen während eines Updates

      Der Installationsdialog zählt, was in jedem Mandanten läuft und wartet, und fragt, was geschehen soll: „Sauber anhalten“ (die Voreinstellung: Läufe von Microsoft 365 und Mail speichern einen Checkpoint und halten an; auf Läufe von Agents und Freigaben wird gewartet, höchstens 30 Minuten), „Warten, bis sie fertig sind“ (höchstens zwei Stunden) oder „Nicht warten“. Von der Bestätigung bis zum Ende des Updates startet kein neuer Lauf, und Zeitpläne, die in der Zwischenzeit fällig werden, laufen danach; alle angemeldeten Personen sehen ein Banner. Agents 0.4.0 halten ihre eigenen Zeitpläne an und warten; Agents vor 0.4.0 tun das nicht, sodass eine Sicherung, die ein solcher Rechner während eines Updates selbst startet, scheitern kann, wenn die API darunter neu startet. Eine Proxmox-VE-Sicherung, die während eines Restow-Updates läuft, scheitert nicht mehr: Der Knoten versucht es fünf Minuten lang weiter.

      0.4.0 Jede Edition

    • Datenbank auf einen anderen Datenträger verschieben

      Installation, Datenbank zeigt, wo die Datenbank ihre Daten hält, ihre Größe, den freien Platz darunter und unter dem lokalen Standard-Repository und was das nächste Update braucht. Mit dem optionalen Updater verschiebt der Provider-Inhaber die Datenbank in ein Verzeichnis auf einem anderen Datenträger: zuerst geprüft (ein anderes lokales Dateisystem, ext4, XFS, Btrfs oder ZFS, Platz für die Daten), dann kopiert, Datei für Datei verglichen, probeweise gestartet und umgeschaltet, mit automatischem Rollback bei jedem Fehler; die alte Kopie bleibt erhalten und wird am Start gehindert, bis sie entfernt ist. Der Preflight des Updaters addiert jetzt, was ein Update schreibt, und lehnt eines ab, das nicht passt; der Reiter Updates listet die Dumps vor dem Update (der Inhaber kann einen herunterladen oder löschen). Das Verschieben wurde vor dem Release nicht über einen echten Updater und seinen Docker-Helfer getestet.

      0.4.0 Jede Edition

    • Warnung bei wenig Speicherplatz

      Alle 15 Minuten prüft die API den Datenträger unter der Datenbank (über den Updater) und unter dem lokalen Standard-Repository. Bei weniger als einem Zehntel frei, und immer unter 5 GiB, bekommen Provider-Admins einen Hinweis in der Glocke, und Alarmregeln, die „Wenig Speicherplatz“ aufführen, senden ihn, einmal je Vorfall.

      0.4.0 Jede Edition

    • Leistung auf großen Installationen

      Der Speicherbedarf bleibt unabhängig von der Größe begrenzt: Der erste Katalog einer Freigabe wird in Paketen zu 5.000 Dateien in die Datenbank gestreamt, die Wiederverwendung der SMB-Berechtigungen hält einen kompakten Index, sodass Freigaben mit Millionen Dateien nicht mehr am Speicher scheitern, SharePoint-Websites mit Tausenden Listen brauchen keine quadratische Zeit mehr, die Blockkarten durchsuchter VM-Festplatten werden nach Größe zwischengespeichert, und die Erneuerung von Object Lock sendet 32 Anfragen gleichzeitig und setzt einen unterbrochenen Durchlauf dort fort, wo er stehen blieb. Die Ransomware-Beurteilung und die Ansicht „Alle Mandanten“ der Jobs lesen über Indizes.

      0.4.0 Jede Edition

    • 0.4.1

    • Gespeicherte Daten zählen die restic-Repositories mit

      Repositories, Nutzung, die Kachel „Gespeichert“ im Dashboard, die Statistik und die API zählten nur die Packs des Chunk-Stores: Ein Mandant mit 10 GB Container-Backups sah „Gespeichert 10,9 kB“. „Gespeichert“ addiert jetzt die restic-Repositories von Rechnern, Freigaben und Proxmox-VE-Containern, und die Nutzungskarte zeigt, wie viel im Chunk-Store und wie viel in restic-Repositories liegt. Die Größe des Repositorys eines Containers wird beim ersten Upload nach dem Update einmal gemessen, danach je Upload und Löschung mitgezählt und nach einer Bereinigung erneut gemessen. Die Deduplizierungs-Ersparnis, das Wachstum und das Diagramm bleiben Zahlen des Chunk-Stores und sagen das; die Größe eines Repositorys hat keinen Verlauf, und „Geschützte Daten“ zählt weiter nur die Quellen des Chunk-Stores.

      0.4.1 Jede Edition

    • Proxmox VE: Ein alter Knoten-Helfer wird benannt

      Eine laufende Container-Sicherung auf einem Knoten mit restow-pve vor 0.4.0 zeigte während ihres ganzen Laufs „Noch kein Fortschritt gemeldet“. Jetzt steht dort, dass der Fortschritt restow-pve 0.4.0 braucht, welche Version der Knoten hat und dass der Knoten zu aktualisieren ist. restow-pve fragt jetzt zwei Minuten nach dem Start nach einem Update, danach alle sechs Stunden, statt erst nach sechs Stunden; das Update wartet weiterhin, bis keine Sicherung und kein Restore läuft.

      0.4.1 Jede Edition

    • 0.4.2

    • Eine Sicherung in der Oberfläche stoppen

      Proxmox VE: „Sicherung stoppen“ in der Tabelle VMs & Container, auf der Seite des Gastes und in der Lauf-Schublade stoppt eine laufende Sicherung (der Knoten beendet die vzdump-Aufgabe über die Proxmox-VE-API, auch bei einer in Proxmox VE selbst gestarteten Sicherung), „Zurückziehen“ nimmt eine wartende sofort aus der Warteschlange. Je Knoten „Warteschlange anhalten“ und „Alle wartenden zurückziehen“, auch für den ganzen Mandanten. Server und Clients: „Sicherung stoppen“ auf der Seite des Rechners und in der Lauf-Schublade; der Agent beendet restic bei seiner nächsten Meldung sauber, innerhalb etwa einer Minute. Auch Läufe von Dateifreigaben lassen sich in der Lauf-Schublade abbrechen (Läufe von Microsoft 365 und IMAP ließen sich schon vorher abbrechen). Ein gestoppter Lauf endet als „Abgebrochen“, nicht als fehlgeschlagen: kein Fehleralarm, und er zählt nicht als letzte Sicherung. Jedes Stoppen fragt vorher nach und wird im Audit-Log festgehalten. Es braucht restow-pve ab 0.4.2 auf dem Knoten und Agent ab 0.4.2 auf dem Rechner; ein älterer Knoten beendet eine abgebrochene Sicherung bei seinem nächsten Upload, ein älterer Agent führt sie zu Ende.

      0.4.2 Jede Edition

    • Knoten und Agenten ziehen bei einem Server-Update nach

      Läuft der Server mit dem neuen Release, bleiben neue Läufe angehalten, während Proxmox-VE-Knoten und Agenten es installieren (sie sind dann frei), bis jeder erreichbare es meldet oder 15 Minuten vergangen sind. Installation › Updates zeigt ihren Fortschritt und nennt für die nicht erreichten den Befehl für ein Update von Hand. „Auf <Version> aktualisieren“ auf der Seite eines Knotens und eines Rechners fordert das Update jederzeit an. `restow-agent update` auf einem Rechner installiert das angebotene Release sofort, wie `restow-pve update` auf einem Knoten, über denselben signierten Download wie die automatische Selbstaktualisierung; läuft gerade eine Sicherung, lehnt er ab, und der Agent aktualisiert sich selbst, sobald er frei ist.

      0.4.2 Jede Edition

    • Geplante Updates und eine Zeitzone der Installation

      Ein Update lässt sich zu einem gewählten Datum und einer Uhrzeit planen, bis zu 30 Tage im Voraus, neben den Vorlaufzeiten ab jetzt: Vorher wird nichts angehalten, und alle angemeldeten Personen sehen ab einem Tag vorher einen Hinweis. Die Uhrzeit gilt in der Zeitzone der Installation, die im Einrichtungsassistenten gewählt wird (die Zeitzone des Browsers ist vorausgewählt) und die ein Inhaber unter Installation › Server & Betrieb › Server ändert; ein neuer Mandant beginnt mit ihr. Eine Installation, die vor 0.4.2 eingerichtet wurde, nutzt weiter RESTOW_TIME_ZONE, dann TZ, dann Europe/Berlin, bis ein Inhaber eine Zeitzone wählt. Ist ein Update verfügbar, wird die Version in der Seitenleiste zu einem hervorgehobenen „Update auf <Version> verfügbar“, das zu Installation › Updates führt, für alle, die Updates einspielen dürfen.

      0.4.2 Jede Edition

    • Proxmox VE: Jeder neue Sicherungsstand wird binnen Minuten geprüft

      Ein neuer Sicherungsstand einer VM oder eines Containers wird binnen Minuten nach seiner Sicherung zurückgelesen (eine Stichprobe seiner Blöcke, bei einem Container eine restic-Prüfung eines Teils), eine begrenzte Anzahl je Durchlauf, neben der wöchentlichen Prüfung jedes Gastes. Die Einstellung „Jeden neuen Sicherungsstand direkt nach der Sicherung prüfen“ (Installation › Proxmox VE, Inhaber) ist standardmäßig eingeschaltet; ausgeschaltet wartet ein neuer Sicherungsstand auf die wöchentliche Prüfung. In der Wiederherstellbarkeit gibt es „Jetzt prüfen“ je Gast und „Alle ungeprüften prüfen“. Eine rote Prüfung zeigt den Fehler, den sie gefunden hat, zum Beispiel den von restic, statt nur „Blöcke stimmten nicht überein oder ließen sich nicht lesen“. Das ist die stichprobenartige Rücklesung, kein Startversuch; Startprüfungen bleiben wie in 0.4.0.

      0.4.2 Jede Edition

    • Proxmox VE: Neue Sicherungskette für einen Container, dessen Repository fehlt

      Nachdem das primäre Repository mit „Vorhandene Backups dort belassen, wo sie sind“ gewechselt hatte, scheiterte jeder Container mit vorhandenem Repository mit „repository does not exist“. Bevor eine Sicherung ihren Zugang bekommt, prüft der Server jetzt einmal je Lauf, dass das Repository auf dem primären liegt. Fehlt es überall, beginnen ein neues Repository und eine neue Sicherungskette, sichtbar auf der Seite des Gastes („Neue Sicherungskette am <Datum> begonnen“) und im Audit-Log; die früheren Sicherungsstände werden „Nicht verfügbar“ (kein Restore, keine Prüfung, in der Wiederherstellbarkeit nicht mitgezählt, von der Aufbewahrung übergangen). Liegt es noch auf einem ausgemusterten Ziel, wird die Sicherung stattdessen mit einer klaren Meldung abgelehnt. „Repository zurücksetzen“ (Gefahrenbereich der Gast-Seite, nur Container) tut dasselbe auf Wunsch: der Name des Gastes wird eingetippt, es braucht eine frische Anmeldung, und es wird im Audit-Log festgehalten. Eine Dateifreigabe, deren Repository fehlt, wird auf diesem Weg noch nicht geheilt; das ist geplant.

      0.4.2 Jede Edition

    • Proxmox VE: Job-Rhythmen, die VM des Restow-Servers und Sicherungen mit Warnungen

      Proxmox-VE-Jobs nehmen die Rhythmen eines Mail-Jobs: alle paar Stunden, täglich, an gewählten Wochentagen, monatlich oder als Cron-Ausdruck, nicht öfter als stündlich. Die VM, auf der Restow selbst läuft, wird an ihrer SMBIOS-UUID erkannt (restow-pve ab 0.4.2 meldet sie) oder von einem Administrator markiert; kein Job sichert sie, und „Jetzt sichern“ oder das Aufnehmen in einen Job braucht eine Bestätigung, die das Risiko nennt, sie mit Restow selbst zu sichern. Eine Sicherung, die vzdump mit „TASK WARNINGS“ beendet, nachdem ihr Sicherungsstand festgeschrieben war, zählt als „Erfolgreich mit Warnungen“ statt als fehlgeschlagen.

      0.4.2 Jede Edition

    • Wo Sicherungen landen, wird angezeigt

      Das wirksame primäre Repository des Mandanten steht auf der Seite eines Gastes und in dessen neuem Dialog „Jetzt sichern“, in den Dialogen für Proxmox-VE-Jobs und -Anbindung, auf der Seite eines Rechners und einer Dateifreigabe und in den Job-Editoren; der Installationsstandard auf der lokalen Platte des Servers ist hervorgehoben. Der Bereich Repositories und die Dialoge, die Proxmox-VE-Knoten, Rechner und Dateifreigaben hinzufügen, warnen „Sicherungen landen auf der eigenen Platte des Servers“, wenn das primäre Repository ein Verzeichnis auf einer Platte des Servers selbst ist (keine Netzwerkfreigabe).

      0.4.2 Jede Edition

    • Ein Speicher-Umzug nimmt die restic-Repositories mit

      Ein Verschieben des primären Repositorys („Vorhandene Backups verschieben“) kopiert jetzt auch die restic-Repositories von Containern, Rechnern und Dateifreigaben, geprüft nach Größe und per SHA-256 wie Packs. Es wartet vor dem Umschalten auf laufende Container-Sicherungen und Läufe von Dateifreigaben und kopiert die Manifeste der Sicherungsstände von VMs und Containern. „Vorhandene Backups dort belassen, wo sie sind“ und das Befördern einer Kopie werden abgelehnt, solange Container oder Dateifreigaben restic-Repositories haben, die nur das Verschieben mitnimmt. Ein Wechsel des primären Repositorys wird weiterhin abgelehnt, solange ein Rechner des Mandanten aktiv ist.

      0.4.2 Jede Edition

    • Speicherprüfung: Vorübergehend nicht lesbar ist nicht beschädigt

      Die Speicherprüfung wertet ein Pack, das sie im Moment nicht lesen konnte (ein mitten in der Übertragung abgebrochener Download, eine zurückgesetzte Verbindung, ein Timeout, S3 mit der Bitte um langsameres Tempo, verweigerter Zugriff), nicht mehr als beschädigt. Sie liest ein solches Pack erneut, bis zu dreimal, und führt, was nicht lesbar bleibt, in Wiederherstellbarkeit › Speicherintegrität als „vorübergehend nicht lesbar“ auf, mit dem Fehler, in wie vielen Prüfungen in Folge es nicht lesbar war und wann; jede weitere Prüfung liest es zuerst, und „Diese Packs erneut prüfen“ liest nur die markierten Packs noch einmal. Objekte, die es verwenden, bekommen „Achtung“; „Nicht wiederherstellbar“ werden sie erst, wenn ein Pack nachweislich beschädigt ist (fehlt, falsche Größe oder Prüfsumme) oder in 3 Prüfungen in Folge über mindestens 24 Stunden nicht gelesen werden konnte. Lesezugriffe auf S3, auch Restores und Restore-Prüfungen, setzen einen abgebrochenen Download fort. Der Wert storageIntegrity.state der Integrations-API hat den neuen Wert unreadable (Vertrag 1.5.0, additiv).

      0.4.2 Jede Edition

    • Restore-Explorer: ein Eintrag je Person und ein Kalender nach Monaten

      Der Restore-Explorer listet einen Eintrag je Person: Postfach, OneDrive und ein zugeordnetes IMAP-Konto stehen zusammen, und die zweite Spalte zeigt E-Mail, Kalender, Kontakte und OneDrive, jeweils mit eigenen Sicherungsständen. SharePoint- und Teams-Websites haben einen eigenen Abschnitt, und ein verwaistes OneDrive steht unter dem Namen seines Besitzers als „Konto gelöscht“. Die Liste kommt seitenweise, mit Suche über Namen, Adressen und Konto-IDs und einem Typfilter in der Datenbank; bis etwa 10.000 Personen je Mandant ist das unproblematisch, darüber langsamer. Der Kalender eines Postfachs hat eine Monatsansicht, Tag für Tag über alle seine Kalender oder einen, und eine Serie öffnet sich auf ihre Termine, berechnet aus dem gespeicherten Muster mit den geänderten Terminen an ihrer Stelle; Termine sind nach Beginn sortiert.

      0.4.2 Jede Edition

    • Mail-Job-Editor: sichern, archivieren oder beides

      Die erste Frage im Editor eines Mail-Jobs ist, was der Job tun soll: sichern, archivieren oder beides (beides ist die Vorgabe für einen neuen Job). Archiviert er, nennt der Editor den Weg, auf dem Mails ins Archiv gelangen (Exchange-Journaling, einmal je Mandant einzurichten), mit dem Verweis auf die Einrichtung und schlägt vor, alle 8 Stunden zu sichern; nur Sichern nennt die Lücke zwischen zwei Läufen, in der eine eingehende und wieder gelöschte Mail in keiner Sicherung ist. Ein Job, der nur archiviert, sichert nicht nach Zeitplan. Seit 0.4.4 bietet der Editor je Art von Postfach auch die dazu passenden Erfassungswege an (siehe 0.4.4).

      0.4.2 Jede Edition

    • 0.4.3

    • Proxmox VE: VMs & Container in Reitern, mit Suche, Filtern und Detailbereich

      VMs & Container hat drei Reiter mit Zahlen: Gäste, Backup-Jobs und Knoten. Die Tabelle der Gäste hat eine Suche über ID und Namen, Filter nach Knoten, Art (VM oder Container), Backup-Job (auch „Kein Backup-Job“) und Zustand, eine Schaltfläche „Nur Probleme“, sortierbare Spalten, Seiten zu 25 bis 250 und den Zustand in der Adresse, sodass ein Link dieselbe Ansicht öffnet. Jede Zeile zeigt ein Zustandsabzeichen, nach Dringlichkeit gewählt, mit einem kleinen Fortschrittsbalken, solange die Sicherung läuft, oder „+N“ für weitere Probleme. Ein Klick öffnet einen Detailbereich mit allen Zuständen, dem vollständigen Fehler und den Warnungen des letzten Laufs in einem kopierbaren Block, der Restore-Prüfung, den Größen, dem Job, den neuesten Läufen und den Aktionen (Jetzt sichern, Stoppen, Zurückziehen, Jetzt prüfen, Seite des Gasts öffnen). Die Spalte „Sicherung“ lautet „Erste: 32 GB am 3. Okt. · Letzte: +210 MB“, und der Bereich zeigt die neuen Daten der letzten 30 Sicherungen als kleine Balken. Der Reiter Knoten zeigt je Knoten den Herzschlag, die Version von restow-pve mit „Auf … aktualisieren“, wenn sie veraltet ist, die Version von Proxmox VE, die Zahl der Gäste, die Warteschlange und die Probleme. Die Tabellen behalten feste Spaltenbreiten und eine Zeilenhöhe und springen deshalb nicht mehr, während Sicherungen laufen. Mit DOM-Tests getestet, nicht visuell in einem Browser mit Tausenden Gästen.

      0.4.3 Jede Edition

    • Proxmox VE: Ein gesperrtes Repository lässt keine Restore-Prüfung mehr fehlschlagen

      Direkt nach einer Container-Sicherung scheiterte die neue Restore-Prüfung oft rot mit einer restic-Meldung über veraltete Sperren, obwohl die Prüfung nie lief: Ein anderer Vorgang, meist die eigene Sicherung des Gasts, hielt die Sperre des Repositorys. Eine Prüfung, die eine Sperre aussperrt, wird jetzt verschoben und nach zehn Minuten erneut versucht, das bisherige Ergebnis bleibt stehen. Nach zwei Stunden steht dort „Nicht prüfbar: Repository gesperrt“ in Gelb (Achtung in der Wiederherstellbarkeit), nie rot und nie grün, mit der Angabe, wer die Sperre hält. Veraltete restic-Sperren werden vor der Prüfung und vor der Aufbewahrung entfernt, ein Gast wird nicht geprüft, solange ein Lauf von ihm läuft, und ein neuer Sicherungsstand wird frühestens zwei Minuten nach seinem Festschreiben geprüft. restow-pve wartet bei einer Container-Sicherung bis zu 15 Minuten auf die Sperre. Restore-Prüfungen, die vor dem Update wegen einer Sperre rot ausfielen, bleiben rot bis „Jetzt prüfen“. Gegen eine simulierte Proxmox-VE-API und einen simulierten S3-Speicher getestet, nicht gegen einen echten Cluster.

      0.4.3 Jede Edition

    • Knoten und Agenten jetzt aktualisieren

      Auf der Karte der Knoten und Agenten unter Installation › Updates startet „Knoten und Agenten jetzt aktualisieren“ den Schritt, in dem sie dem Server folgen, wenn kein Update in ihn geführt hat: Der Server wurde von Hand aktualisiert, oder die Antwort auf ein angekündigtes Update ging verloren. Ein Administrator mit allen Mandanten startet ihn; neue Läufe pausieren höchstens 15 Minuten, während erreichbare Knoten und Agenten, die zurückliegen, das Release installieren, sobald sie frei sind, und die Pause endet, sobald sie fertig sind (im Audit-Log als update.fleet_started mit manual: true). Außerhalb eines Updates erscheinen Knoten und Agenten, die zurückliegen, als „Update verfügbar“. Knoten mit restow-pve 0.4.1 reagieren darauf nicht und brauchen ein Update von Hand.

      0.4.3 Jede Edition

    • Proxmox VE: restow-pve startet die Proxmox-VE-Dienste nach einer Selbstaktualisierung neu

      Nach einer Selbstaktualisierung behielten die Proxmox-VE-Dienste das alte Speicher-Plugin geladen, bis sie neu starteten. restow-pve startet pvedaemon, pveproxy, pvestatd und pvescheduler jetzt wie der Installer neu, und restow-pve update startet auch den laufenden Dienst restow-pve neu, sodass der Knoten das neue Release mit seiner nächsten Meldung angibt. Ein Knoten, den ein älteres restow-pve aktualisiert hat, startet die Dienste einmal von selbst neu. Knoten mit restow-pve 0.4.1 brauchen ein Update von Hand: /opt/restow-pve/bin/restow-pve update, danach systemctl restart restow-pve pvedaemon pvestatd pveproxy pvescheduler.

      0.4.3 Jede Edition

    • Updates: Kein falsches „Der Updater läuft nicht“ mehr

      Das Ankündigen eines Updates konnte „Der Updater läuft nicht“ melden, obwohl der Updater es wenige Sekunden später annahm. Die API wartete 5 Sekunden auf eine Antwort, während der Updater zuerst Docker, die Compose-Konfiguration, den Speicherplatz und die laufende Version prüft (5 bis 12 Sekunden auf echten Installationen); das Update lief dann ohne die Pause neuer Läufe, ohne den Audit-Eintrag update.scheduled und ohne den Schritt, in dem Proxmox-VE-Knoten und Agenten dem Server folgen. Die API wartet jetzt bis zu einer Minute und liest, wenn die Antwort weiter fehlt, den Stand des Updaters erneut und wertet das Update als angenommen, wenn der Updater es zeigt; der Reiter Updates sagt, dass er prüft, ob das Update angenommen wurde. Der Reiter sagt auch nicht mehr hin und wieder für einige Sekunden „läuft nicht“: Der Updater antwortet sofort mit seiner letzten Prüfung und prüft im Hintergrund erneut.

      0.4.3 Jede Edition

    • 0.4.4

    • Archiv-Erfassung: Microsoft 365 per Graph-Änderungsbenachrichtigungen

      Restow archiviert Microsoft-365-Postfächer ohne Journaling. Für jedes archivierte Postfach abonniert es Änderungsbenachrichtigungen von Microsoft Graph und holt jede neue Mail binnen Minuten nach der Zustellung (Entwürfe werden übersprungen, und unveränderliche Nachrichten-IDs verhindern, dass eine verschobene Mail doppelt archiviert wird). Ein Abgleich über alle Ordner und die wiederherstellbaren Löschungen läuft standardmäßig alle sechs Stunden und sofort nach einer verpassten Benachrichtigung; der Altbestand des Postfachs wird einmalig in fortsetzbaren Seiten übernommen und als nachträglich erfasst markiert. Es braucht keine neue Microsoft-Berechtigung. Benachrichtigungen kommen nur an, wenn die öffentliche URL der Installation https auf Port 443 ist und von Microsoft erreichbar; sonst wird jedes Postfach abgefragt, standardmäßig alle 15 Minuten, und der Erfassungsstatus nennt den Grund. Das ist zeitnahe Erfassung und nicht vollständig: Eine Mail, die endgültig gelöscht wird, bevor Restow sie geholt hat, kann fehlen, und von den wiederherstellbaren Elementen wird nur der Ordner der Löschungen gelesen. Graph kann Mail über etwa 150 MB nicht exportieren; solche Mail wird protokolliert, nicht archiviert. Restow kann nicht sehen, ob der Mandant gelöschte Mail aufbewahrt (Aufbewahrungsrichtlinie oder Litigation Hold), weil Graph v1.0 dafür keinen Lesezugriff bietet: Ein Administrator bestätigt es je Quelle auf der Archiv-Seite, die die Befehle für Exchange Online PowerShell zeigt, mit denen sich das prüfen lässt. Gegen eine simulierte Graph-API getestet, nicht gegen einen echten Microsoft-365-Mandanten.

      0.4.4 BusinessService Provider

    • Archiv-Erfassung: IMAP und Google Workspace per IMAP-Abgleich mit IDLE

      IMAP- und Google-Workspace-Konten werden durch einen laufenden Abgleich archiviert. Die Aktivierung hält fest, wo jeder Ordner steht, der Altbestand wird einmalig übernommen (fortsetzbar, als nachträglich erfasst markiert), und jeder spätere Durchlauf liest nur neue Mail: eine Statusabfrage je Ordner, zuerst die Metadaten, und die Quelle nur von Mail, die das Archiv für das Konto noch nicht hält. Gelesen werden alle Ordner außer Entwürfen; bei Gmail und Google Workspace nur Alle Nachrichten, Spam und Papierkorb, die jede Mail genau einmal enthalten. Wo der Server IMAP IDLE anbietet, hält Restow je Konto eine Verbindung offen (standardmäßig bis zu 300 Konten je Worker) und archiviert neue Mail nach Augenblicken, mit einer Prüfung der übrigen Ordner standardmäßig alle fünf Minuten; andere Konten werden standardmäßig alle zehn Minuten abgefragt. Eine Quelle lässt sich auf „nur in Abständen prüfen“ stellen, für Anbieter mit knappem Verbindungslimit. Ändert sich UIDVALIDITY, wird der Ordner von vorn gelesen, ohne etwas doppelt zu archivieren. Das ist eine Näherung und als solche gekennzeichnet: Eine Mail, die gleich nach der Zustellung verschoben oder gelöscht wird, kann fehlen, und IMAP kennt nichts wie einen Aufbewahrungs-Hold. Gegen einen simulierten IMAP-Server und den Dovecot des Release-Smoke-Laufs getestet, nicht gegen einen echten Google-Workspace-Mandanten oder Hoster. IMAP-Quellen mit OAuth2 lassen sich weiterhin nicht anlegen; ein Google-Workspace-Konto wird deshalb an seinem Host oder seiner Ordnerliste erkannt.

      0.4.4 BusinessService Provider

    • Weitergeleitete Kopien ins Archiv

      Für Mailsysteme ohne Exchange-Journaling schickt der Anbieter eine Kopie jeder ein- und ausgehenden Mail an Restow, während die Mail in seinem Transport ist: eine BCC-Regel in Postfix oder mailcow, ein Sieve-redirect :copy oder die Routing-Regel „Weitere Empfänger hinzufügen“ in Google Workspace. Der Journal-Empfänger nimmt solche einfachen Kopien ebenso an wie Exchange-Journalberichte. Jedes IMAP-Konto kann eine eigene Archivadresse haben (auf Anforderung ausgestellt, erneuerbar, protokolliert): Eine Kopie an sie gehört genau diesem Konto, während eine Kopie an die Journal-Adresse des Mandanten nach ihren Kopfzeilen und dem SMTP-Absender zugeordnet wird. Eine weitergeleitete Kopie hat keinen Umschlag wie ein Journalbericht; ein BCC-Empfänger ist deshalb nur sichtbar, wenn der Anbieter ihn in eine Kopfzeile schreibt. Die Kopie entsteht im Transport des Anbieters, bevor Nutzer die Mail anfassen können. Die Archiv-Seite zeigt je Konto, wie die Regel einzurichten ist (Postfix, mailcow, Sieve, Google Workspace), und ob Kopien ankommen. Gegen den Empfänger selbst getestet, nie gegen ein echtes Postfix, mailcow, einen Hoster oder Google Workspace. Der Empfänger prüft den Absender nicht (SPF).

      0.4.4 BusinessService Provider

    • Ein archiviertes Element je Mail, egal über wie viele Wege sie erfasst wurde

      Mail, die über mehr als einen Weg ins Archiv gelangt, wird an Message-ID und Inhalt erkannt (die exakten Bytes oder ein Hash des Bodys) und einmal aufbewahrt. Eine Erfassung, die nicht stärker ist als das, was das Archiv hält, wird ein Erfassungseintrag an diesem Element; eine stärkere (etwa eine weitergeleitete Kopie nach einem IMAP-Abgleich) wird das Element und nennt das frühere, das sie ersetzt und das in der Kette unverändert bleibt. Dieselbe Message-ID mit anderem Body bleibt zweimal erhalten und wird markiert. Journalberichte und importierte Nachrichten bleiben eigene Elemente. Suche und Detail des Elements nennen weitergeleitete Kopien, nachträglich erfasste Mail und die anderen Wege, die dieselbe Mail erneut erfasst haben; ersetzte Erfassungen sind ausgeblendet, solange man sie nicht anzeigen lässt, und der Export einer Suche folgt dem. Jeder Schreiber des Archivs hängt jetzt über einen gemeinsamen Weg an und lädt das Original hoch, bevor die Sperre der Kette des Mandanten genommen wird; ein großer Report hält deshalb die übrigen Zustellungen des Mandanten nicht mehr auf.

      0.4.4 BusinessService Provider

    • Mail-Job-Editor: nur die Erfassungswege, die zum Postfach passen

      Der Editor eines Mail-Jobs erkennt die Art des Postfachs (Microsoft 365, IMAP, Google Workspace über IMAP, IMAP bei einem Microsoft-Host) und bietet nur die Erfassungswege an, die dazu passen: Microsoft Graph und Exchange-Journaling für Microsoft 365, IMAP-Archivierung und Weiterleitung für IMAP und Google Workspace. Jeder Weg ist als echt (beim Transport) oder zeitnah gekennzeichnet, mit der Edition gesperrt, die ihn enthält, und je Art ist mindestens einer nötig. Vorgabe für einen neuen Job und für einen Job, der das Archivieren einschaltet, sind Graph und IMAP-Abgleich, jeweils mit einer einmaligen Übernahme der Mail, die schon im Postfach liegt. Bei IMAP-Konten auf einem Microsoft-Host erscheint der Hinweis, stattdessen eine Microsoft-365-Quelle zu verbinden. Archivieren oder einen Weg auszuschalten fragt vorher nach: Neue Mail wird ab dann nicht mehr archiviert, das bisherige Archiv bleibt. Eine Journal-Adresse wird nur angefordert, solange Exchange-Journaling gewählt ist. Jobs, die schon vor dem Update archiviert haben, behalten für Microsoft 365 nur das Journaling und haben für IMAP- und Google-Workspace-Konten noch keinen Weg, sodass nichts Neues von selbst startet: Ein Administrator schaltet Graph oder die IMAP-Archivierung im Job ein. Das Anhalten eines Jobs hält nur seine Sicherungen nach Zeitplan an; die Archivierung läuft weiter.

      0.4.4 Jede Edition

    • Archiv-Seite: Erfassungsstatus, Hold-Bestätigung, PowerShell-Befehle und Weiterleitungsadressen

      Die Archiv-Seite zeigt die Erfassung aus den Postfächern (Streams, wie neue Mail bemerkt wird und warum ein Postfach in Abständen geprüft wird, Zahlen der letzten 24 Stunden und 7 Tage, die Übernahme des Altbestands), die Erfassung je Postfach mit einem Nachholen auf Wunsch und je Microsoft-365-Quelle die Hold-Bestätigung mit den lesenden Befehlen für Exchange Online PowerShell, die ihn prüfen. Exchange-Journaling gibt es als fertige PowerShell-Befehle (Connector, Postfach für nicht zustellbare Journalberichte, Journalregel) und mit einem Warten auf den ersten Report, das alle 5 Sekunden nachsieht. Die Weiterleitung hat eine Adresse je IMAP-Konto (erzeugt, kopiert, nach einer Rückfrage erneuert), ihren Status und Anleitungen für Postfix, mailcow, Sieve und Google Workspace. Ein Hinweis, den man ausblenden kann, nennt die Mail-Jobs, in denen sich Graph oder die IMAP-Archivierung einschalten ließe, und der Erfassungsstatus listet die Jobs, die auf einen Weg warten.

      0.4.4 BusinessService Provider

    • Warnungen, wenn die Archiv-Erfassung stockt

      Die Warnung archive.failed (Glocke, Regeln, E-Mail) meldet jetzt auch ein Postfach, dessen Erfassung seit mehr als einer Stunde im Fehler steht, ein IMAP-Konto, dessen weitergeleitete Kopien seit 24 Stunden ausbleiben, obwohl sein Job sie will, und eine Journal-Adresse ohne Reports seit 24 Stunden, jeweils nur, nachdem sie vorher empfangen hatte, und einmal je Ausfallzeitraum. Glocke und Mail sagen, um welchen Fall es geht, und führen zu seinem Abschnitt der Archiv-Seite.

      0.4.4 BusinessService Provider

    • Grenzen des Journal-Empfängers und eine Archiv-Kette, die sich nicht mehr gabelt

      Eine SMTP-Transaktion liefert in das Archiv genau eines Mandanten; ein Empfänger eines zweiten Mandanten wird mit 452 beantwortet und vom Absender getrennt zugestellt. Die Grenze je sendender IP steigt von 60 auf 600 Verbindungen pro Minute, und eine neue Grenze je Archivadresse (300 pro Minute) antwortet mit 451. Mail an die Journal-Adresse, die kein Journalbericht ist, wird als weitergeleitete Kopie archiviert statt als unvollständiger Report. Behoben: Die Archiv-Kette konnte sich gabeln, wenn zwei Schreiber eines Mandanten ihre Elemente mit derselben Zeit stempelten. Schreiber nehmen jetzt das letzte Element in der Reihenfolge, die die Kettenprüfung abgeht (Zeit, dann ID), und stempeln ihres strikt später.

      0.4.4 BusinessService Provider

    • Restore-Explorer: Große Postfächer und OneDrives öffnen sich in Millisekunden

      Ein großes Postfach oder OneDrive im Restore-Explorer zu öffnen dauert nicht mehr Sekunden bis Minuten. Jede Ordnerliste las früher bei jeder Anfrage zweimal alle Einträge des Sicherungsstands und glich die Ordner darunter ohne Index damit ab; jetzt liest sie die Kinder des Ordners und die Ordner darunter aus zwei neuen Indizes. In einem Test mit 120.000 Nachrichten und 200.000 Dateien sank die Liste der Mail-Ordner von 2,5 s auf 15 ms, die Wurzel des Postfachs und des OneDrives von über einer Minute auf 15 ms und jeder OneDrive-Ordner von 1,5 bis 2,5 s auf etwa 10 ms; ein Ordner mit 50.000 Nachrichten listet seine erste Seite in etwa 0,5 s (vorher 1,9 s). Die Versionen, die OneDrive von einer Datei behielt, und die Monatsansicht des Kalenders lesen dieselben Indizes, und Mail-Vorschau und Anhang-Download lesen genau die Bytes eines Chunks per Range-Anfrage, statt dessen ganzes Pack von bis zu 64 MiB herunterzuladen. Sicherungsstände von 0.3.4 und früher, die der Worker noch nicht umgewandelt hat, werden wie bisher aufgelistet. Die Indizes werden während des Updates gebaut, das auf einer großen Installation länger dauert (siehe die Hinweise zum Update).

      0.4.4 Jede Edition

    • Proxmox VE: Der Job-Dialog passt auf einen Desktop-Bildschirm

      Der Job-Dialog für Proxmox VE ist doppelt so breit und ordnet seine Einstellungen ab Tablet-Breite in zwei Spalten an (Name und Zeitplan mit den nächsten Läufen links; Umfang, Sicherungsstände, Restore-Prüfung, Startprüfung und Gäste rechts), sodass die Einstellungen eines Jobs ohne Scrollen auf einen Desktop-Bildschirm passen. Auf einem Telefon bleibt es eine Spalte in voller Breite.

      0.4.4 Jede Edition

    • 0.4.5

    • Lizenzschlüssel mit Update-Zeitraum

      Ein Lizenzschlüssel kann die Bedingungen seiner Updates tragen: einen Update-Zeitraum (updates_until) und eine Serie. Ein Schlüssel mit Update-Zeitraum deckt jedes Release ab, das bis zum Ende dieses Tages (UTC) erstellt wurde, gleich welche Version es hat. Ein Schlüssel ohne Zeitraum deckt eine ganze Serie ab: Das Schlüsselformat restow-license-v1 nennt sie, und ein Schlüssel ohne Serie zählt als Serie 1, die auch jedes 0.x-Release abdeckt. Jeder bisher ausgestellte Schlüssel ist eine Beta-Lizenz: Er trägt keines der beiden Felder und deckt dauerhaft jedes 0.x- und 1.x-Release ab. Das Schlüsselformat nimmt die neuen Felder als optional und ignoriert Felder, die es nicht kennt, sodass Schlüssel, die der Lizenzserver später ausstellt, weiter verifiziert werden; die sechs Felder von heute bleiben Pflicht und behalten ihre Regeln. Ein Schlüssel kann außerdem den Signaturschlüssel des Herstellers nennen, mit dem er signiert wurde (kid), damit sich ein Signaturschlüssel wechseln lässt, ohne ausgestellte Schlüssel zu brechen. Schlüssel mit den neuen Feldern werden erst ab 0.4.5 verifiziert. Schlüssel werden weiterhin offline geprüft: Restow kontaktiert keinen Lizenzserver, und nichts hält an, solange es läuft, denn ein Schlüssel hat kein Ablaufdatum, nur Releases, die er abdeckt, und Releases, die er nicht abdeckt.

      0.4.5 BusinessService Provider

    • Das Image trägt sein Release-Datum

      Jedes Image trägt das Datum seines Releases (RESTOW_RELEASED_AT, das Commit-Datum des Release-Tags), und GET /api/v1/status meldet es als releasedAt. Die Release-Notes veröffentlichen dasselbe Datum in einer Zeile released: neben den Digests der Images; so kennt die Update-Prüfung das Datum eines Releases, bevor sie etwas installiert. Lizenzschlüssel mit Update-Zeitraum werden an diesem Datum gemessen.

      0.4.5 Jede Edition

    • Update-Prüfung und Start beachten den Update-Zeitraum

      Die Update-Prüfung markiert die Releases, die der installierte Business- oder Service-Provider-Schlüssel nicht abdeckt, und sagt das ruhig auf der Seite Updates: Die installierte Version arbeitet weiter, und die neueste abgedeckte Version lässt sich wie gewohnt installieren. Restow lehnt es ab, ein nicht abgedecktes Release zu installieren oder zu planen (409 update-not-covered), und die Glocke und die Alarmregeln update.available kündigen nur das neueste abgedeckte Release an. Ein Release, das von Hand an der Update-Prüfung vorbei gestartet wird und das der installierte Schlüssel nicht abdeckt, hält vor seinen Datenbankmigrationen an, mit einer Logzeile, die die Version, das Ende des Update-Zeitraums und das Datum des letzten abgedeckten Releases nennt; zum Zurückgehen muss nichts wiederhergestellt werden, und der optionale Updater setzt die vorherige Version von selbst zurück. Mit RESTOW_RUN_AS_COMMUNITY=1 startet es stattdessen als Community: Die Module bleiben aus, und es werden keine Daten verändert. Nie bei Beta-Lizenzen, Entwicklungs-Builds, Installationen ohne Schlüssel oder der öffentlichen Demo.

      0.4.5 BusinessService Provider

    • Lizenzseite: Update-Bedingungen, Hinweis vor dem Ende und Verlängerung

      Die Lizenzseite zeigt, welche Updates der installierte Schlüssel enthält („Updates: alle 1.x (Beta-Lizenz)“ oder „Updates: bis“ mit dem Datum), und ab 30 Tage vor dem Ende des Zeitraums und danach einen kurzen Hinweis auf derselben Seite; es wird keine E-Mail verschickt. Ein neuer Schlüssel ersetzt den aktiven, auch solange dieser gilt, und so wird eine Verlängerung eingespielt: Frühere Schlüssel bleiben im Verlauf, und jede Installation oder jeder Austausch steht im Audit-Log mit den Update-Bedingungen des Schlüssels und der Angabe, ob sie die laufende Version abdecken. Ein Schlüssel, der die laufende Version nicht abdeckt, wird abgelehnt (outside_update_period), ebenso ein Schlüssel, der mit einem Signaturschlüssel des Herstellers signiert ist, den diese Version noch nicht kennt (unknown_signing_key): erst aktualisieren, dann installieren.

      0.4.5 BusinessService Provider

    • Öffentliche Demo: schneller nächtlicher Reset

      Die öffentliche Demo setzt sich aus einer gespeicherten Vorlage zurück, statt neu zu befüllen. Nach einer vollständigen Befüllung speichert deploy/demo/reset.sh eine Vorlage (einen Dump der Demo-Datenbank, ihre Rollen und eine Kopie jedes Volumes, das die Befüllung schreibt), die an das Release, die Image-IDs und die .env gebunden ist, und spielt sie in den folgenden Nächten ein, sodass die Demo etwa 15 bis 25 Sekunden statt vieler Minuten offline ist. Beim Einspielen rückt jede Systemzeit um das Alter der Vorlage vor, sodass die Historie weiter heute endet und „letzte Sicherung vor 12 Minuten“ stimmt; das Audit-Log, das Mail-Archiv und die eigenen Snapshot-Zeiten von restic behalten ihre echten Zeiten, und Anmeldungen werden entfernt. Eine Vorlage, die älter als 7 Tage ist (einstellbar), ein neues Release, neue Images, eine geänderte .env oder ein fehlgeschlagenes Einspielen führen zu einer vollständigen Befüllung. Die Gesundheitsprüfungen der Dienste der Demo laufen alle 2 bis 5 statt alle 10 bis 15 Sekunden, sodass ein Reset weniger auf Dienste wartet, die schon bereit sind. Das betrifft nur die öffentliche Demo, keine Installation.

      0.4.5 Jede Edition

    • Einen gesperrten Rechner aus Restow entfernen, mit oder ohne seine Sicherungen

      Ein gesperrter Rechner lässt sich aus Restow entfernen. „Aus Restow entfernen“ in seinem Gefahrenbereich bietet „Aus der Liste entfernen, Sicherungen bis zum Ablauf behalten“ (die neueste Sicherung plus die längste Regel der Aufbewahrung des Rechners, als Zeit gelesen) oder „Rechner und seine Sicherungen löschen“, mit eingetipptem Hostnamen und einer jungen Anmeldung. Der Rechner verschwindet aus jeder Liste, Auswahl, Übersicht und Zählung und aus seinem Backup-Job; seine Läufe, Berichte und Audit-Einträge bleiben. Der Worker löscht das restic-Repository des Rechners auf jedem Ziel, das Dateien von ihm hält: dem primären, seinen Kopien und ausgemusterten primären. Sofortiges Löschen wird abgelehnt, solange eine Legal Hold über dem Mandanten oder ein ungeklärter verdächtiger Sicherungsstand die Sicherungen hält, und der Worker wartet auf eine solche Hold, wenn die Sicherungen ablaufen. Objekte, die der Speicher noch sperrt (S3 Object Lock, die Löschverzögerung eines Verzeichnisses), werden zurückgestellt, bis ihre Sperre abläuft, und wie eine abgelehnte Bereinigung festgehalten. Die Rechnerseite listet die noch offenen Entfernungen mit dem Datum, der Hold oder der Sperre. Jeder Schritt wird protokolliert. Die Migration 0064 fügt den Entfernungszustand zu den Rechnern hinzu.

      0.4.5 Jede Edition

    • Einen verschwundenen Rechner sperren, und ein Vorschlag dazu

      Eine Deinstallation, die auf einen ausgeschalteten Rechner wartet, bietet jetzt „Jetzt sperren“ an, und ein Rechner, der sich länger als eine einstellbare Zahl von Tagen nicht gemeldet hat (standardmäßig 30, unter Alarme des Rechners), schlägt vor, ihn zu sperren, auf seiner Seite und unter dem, was Aufmerksamkeit braucht. Der Detailbereich des Rechners im Inventar zeigt den Vorschlag als Zustand und bietet „Jetzt sperren“ an und, sobald der Rechner gesperrt ist, auch „Aus Restow entfernen“.

      0.4.5 Jede Edition

    • Warnung, wenn ein Verzeichnis-Repository auf der Systemplatte liegt

      Restow warnt, wenn ein Verzeichnis-Repository auf der Systemplatte des Restow-Servers liegt, der Platte unter Betriebssystem, Docker und Datenbank: Eine volle Systemplatte hält alles an, nicht nur die Sicherungen. Die API erkennt das aus ihrem Container heraus am Gerät und am Blockgerät des Pfads, einschließlich des Installationsstandards und der Freigaben des Mounters. Die Warnung steht auf der Seite Repositories, in der Zeile „Sicherungen landen in:“ der Job-Editoren und auf der Speicherkachel des Dashboards, wo Provider-Admins außerdem den freien Platz, seinen Verlauf über die letzte Woche und den Zeitpunkt sehen, an dem die Platte voll wäre. Die API beobachtet jetzt außerdem die Systemplatte auf wenig Speicherplatz. Nichts wird blockiert.

      0.4.5 Jede Edition

    • Microsoft-365-Gruppen als geschützte Objekte: Kalender und Unterhaltungen

      Kalender und Unterhaltungen von Microsoft-365-Gruppen und der Gruppen hinter Teams sind geschützte Objekte einer eigenen Art, group. Der Verzeichnisabgleich liest groups/delta als zweiten Delta-Strom neben den Benutzern (eine vollständige Aufzählung beim ersten und bei jedem vollständigen Abgleich, dazwischen nur Änderungen), behält nur Microsoft-365-Gruppen (Sicherheits- und Verteilergruppen haben kein Gruppenpostfach) und verwaist entfernte, deren Sicherungsstände bleiben. Gruppen sind Opt-in: Die Schutzregeln bekommen einen Schalter „Alle Microsoft-365-Gruppen schützen“ (standardmäßig nur ausgewählte Gruppen, also keine, solange Sie sie nicht in die Liste der geschützten Objekte aufnehmen), und einzelne Gruppen lassen sich dort einschließen. Ein Mail-Job mit Umfang „alle“ deckt jede geschützte Gruppe ab, wie Websites. Gruppenpostfächer zählen nie als geschützte Postfächer. Die Migration 0065 fügt die Objektart hinzu. Nach dem Update wird keine Gruppe gesichert, bis die Schutzregeln es einschalten oder Gruppen eingeschlossen werden; der erste Verzeichnisabgleich liest die Gruppen jeder Microsoft-365-Quelle einmal vollständig.

      0.4.5 Jede Edition

    • Gruppenkalender und Unterhaltungen: was ein Backup enthält

      Das Backup einer Gruppe enthält ihren Kalender, gelesen vom selben Kalender-Code wie der eines Benutzers (Serienmaster mit ihren Ausnahmen), und jeden Beitrag jeder Unterhaltung, gespeichert als RFC-5322-Nachricht unter mail/Conversations, mit ihren Dateianhängen, wenn Graph sie herausgibt (sonst wird ihr Fehlen festgehalten). Verweigert Graph der App die Ereignisliste eines Gruppenkalenders, fällt Restow auf die calendarView der Gruppe und einen Lesevorgang je Serienmaster zurück; ein Kalender, den Graph ganz verweigert, ist eine Warnung am Lauf, kein Fehler. Nur Threads mit neuen Beiträgen werden erneut gelesen. Eine Gruppe, die es nicht mehr gibt, scheitert mit der neuen Ursache graph.group_unavailable. Es braucht keine neue Microsoft-Berechtigung: Group.Read.All und Calendars.ReadWrite waren immer erforderlich. Gegen eine simulierte Graph-API getestet, nie gegen einen echten Microsoft-365-Mandanten: Welche Kalenderzugriffe Graph einer App auf eine Gruppe erlaubt, kann je Mandant abweichen, und das Backup meldet, was es nicht lesen konnte.

      0.4.5 Jede Edition

    • Gruppenkalender und Unterhaltungen: Restore, Download und Export

      Der Restore-Explorer listet Gruppen im Abschnitt „SharePoint und Teams“ mit den Bereichen „Gruppenkalender“ und „Unterhaltungen“; Download (EML, JSON) und Export (EML, MBOX, PST) funktionieren wie bei Postfächern. Ein Restore in das Postfach eines Benutzers bringt Ereignisse und Unterhaltungen zurück, die Unterhaltungen als Mail in einen Ordner Conversations. Ein Restore in die Gruppe selbst bringt nur Kalenderereignisse zurück, weil Microsoft Graph keiner App erlaubt, in eine Gruppenunterhaltung zu schreiben: Jeder Beitrag wird als nicht wiederherstellbar gemeldet, mit den Wegen, die funktionieren. Die Wiederherstellung einer Gruppe ist keine Stellvertretung, weil eine Gruppe keiner Person gehört. Die Integrations-API meldet lastSuccess.groups, und ObjectKind enthält group (Vertrag 1.6.0, additiv: Clients, die Objektarten erschöpfend behandeln, sollten den neuen Wert akzeptieren), und das Dashboard führt Gruppenkalender und Unterhaltungen unter den letzten Sicherungen auf.

      0.4.5 Jede Edition

    • Jetzt starten und Stoppen an jedem Job

      Beide Joblisten, Server & Clients und Mail & SaaS, haben „Jetzt starten“ und „Stoppen“ in jeder Zeile und im „…“-Menü der Zeile: eine Schaltfläche fester Größe, die „Jetzt starten“ sagt, „Stoppen“, solange die Sicherungen des Jobs laufen oder warten, und „Wird gestoppt…“, sobald gestoppt wurde. Das Stoppen fragt vorher nach und sagt, was es für die Art des Jobs bedeutet. „Jetzt ausführen“ heißt jetzt „Jetzt starten“. Neue API-Routen: POST /api/v1/backup-jobs/:id/cancel (jede wartende oder laufende Sicherung eines Mail-, Rechner-, Freigaben- oder Kopierjobs in einer Anfrage), POST /api/v1/pve/jobs/:id/run (eine Sicherung jedes Gastes, den ein Proxmox-VE-Job (Preview) abdeckt, wie sein Zeitplan es täte, ohne den Zeitplan zu verschieben) und POST /api/v1/pve/jobs/:id/cancel. Alle werden protokolliert, sind für Mandanten-Administratoren und Provider-Rollen, die bedienen dürfen, und sind in der öffentlichen Demo gesperrt.

      0.4.5 Jede Edition

    • Detailbereiche im Inventar und in den Joblisten

      Das Inventar und die Joblisten öffnen einen Detailbereich wie den von VMs & Container: Ein Klick auf eine Zeile, ihren Namen oder ihren Zustand öffnet ihn (?machine=<id> im Inventar, ?job=<id> in den Joblisten, sodass ein Link ihn öffnet). Er listet jeden Zustand, die vollständigen Fehler- und Warntexte der neuesten Sicherung oder des fehlgeschlagenen Laufs in einem kopierbaren Block mit fester Schriftbreite (bei einem Rechner auch das Ende des Protokolls), was Aufmerksamkeit braucht, die Restore-Prüfungen, die wichtigsten Angaben, die neuesten Läufe und die Aktionen. Die Tabellen behalten ihr Layout wie VMs & Container: feste Spaltenbreiten, eine Zeilenhöhe (auch bei ladenden Zeilen), ein kompaktes Zustandsabzeichen je Zeile (das dringendste von dem, was zutrifft; grün nur bei bestandener Restore-Prüfung) mit dem Fortschritt einer laufenden Sicherung daneben, einzeilige Zellen ohne Tooltips und Aktionsschaltflächen einer Größe. Spalten, die nicht auf einen Bildschirm passen, weichen von rechts; der Bereich hat alles.

      0.4.5 Jede Edition

    • Abhängigkeiten: Übersetzungsbibliotheken und der Microsoft-Token-Code

      Größeres Update der Übersetzungsbibliotheken, i18next 26 und react-i18next 17, gemeinsam aktualisiert; Texte, Plurale sowie Zahlen- und Datumsformate lesen sich in Englisch und Deutsch genau wie vorher. @azure/msal-node ist keine Abhängigkeit mehr, weil es nichts verwendete: Die App-Token für Microsoft 365, die Admin-Zustimmung und die IMAP-OAuth2-Anmeldung nutzen den eigenen Token-Client von Restow, unverändert.

      0.4.5 Jede Edition

    • Korrekturen: Anhänge-Ordner im Restore-Explorer, Job-Dialog von Proxmox VE auf dem Telefon, Demo-Reset

      Im Restore-Explorer zeigt eine Mail, die als JSON gespeichert ist (zu groß für eine einfache Nachricht), neben sich keinen leeren Ordner <Betreff>.attachments mehr: Ihre Anhänge werden mit der Nachricht wiederhergestellt und wurden nie aufgelistet, und die Ordnerzeile, die das Backup dafür festhält, ist jetzt aus der Liste, dem Ordnerbaum und der Suche ausgeblendet. Der Job-Dialog von Proxmox VE (Preview) stapelt seine drei Felder für Sicherungsstände auf dem Telefon (390 px), sodass „Monatliche Sicherungsstände“ nicht mehr über den Rand des Dialogs läuft. Das Reset-Skript der öffentlichen Demo liest RESTOW_DEMO_COMPOSE_FILES jetzt aus deploy/demo/.env, wie es die README immer sagte, und lehnt Einträge, die keine Compose-Dateien sind, ab, bevor etwas angehalten wird.

      0.4.5 Jede Edition

    • Prüfung von Entra-Tenant und IMAP-OAuth2-Geheimnis

      Der Einrichtungsassistent akzeptiert den Entra-Tenant für Graph-Mail nur als Tenant-ID (GUID) oder verifizierte Domain, wie es die Einstellungen schon taten; alles andere wird abgelehnt (422), bevor es die Token-URL erreichen kann. Die URL war nie für einen anderen Host offen (der Wert ist URL-kodiert, der Anmeldehost fest), aber ein Wert wie .. änderte ihren Pfad. Ein IMAP-OAuth2-Geheimnis wird abgelehnt, wenn seine tenantId nicht eine Tenant-ID, eine verifizierte Domain, common, organizations oder consumers ist und sein tokenEndpoint keine https-URL. Weder die API noch die Oberfläche legt solche Geheimnisse bisher an; die Token-Anfrage braucht außerdem die Adressrichtlinie der IMAP-Verbindungen, bevor XOAUTH2 angeboten wird.

      0.4.5 Jede Edition

    • 0.4.6

    • Proxmox VE: Der Restore eines Containers funktioniert auf aktuellem Proxmox VE

      Der Restore eines Containers aus Restow scheiterte auf aktuellem Proxmox VE mit Can't use string ("restow") as a HASH ref, das die Storage-ID vor dem Info-Hash an den Container-Restore des Backup-Providers übergibt. Startprüfungen von Containern („Nicht gestartet“) und „Als neuen Gast wiederherstellen“ von Containern waren betroffen; VMs nicht. Das Plugin von restow-pve akzeptiert jetzt beide Formen; es wird mit dem Update von restow-pve installiert, das die PVE-Dienste neu lädt. Aktualisieren Sie restow-pve auf jedem Proxmox-VE-Knoten, bevor Sie sich auf Container-Restores oder Startprüfungen verlassen (der Server bietet es nach seinem eigenen Update an, und Knoten aktualisieren sich selbst, wenn sie frei sind); bis dahin scheitern sie weiter wie zuvor. Für Sicherungsstände von Containern, die „Nicht gestartet“ zeigen oder eine fehlgeschlagene Restore-Prüfung aus der Zeit vor 0.4.3 haben, führen Sie „Jetzt Start prüfen“ oder „Jetzt prüfen“ aus, sobald der Knoten aktualisiert ist. Mit Perl-Tests des Plugins getestet (der Container-Restore mit und ohne Storage-ID); vor dem Release nicht gegen einen echten Proxmox-VE-Knoten ausgeführt.

      0.4.6 Jede Edition

    • Ransomware-Erkennung: Eine neue Sicherungskette wird nicht mehr markiert

      Die erste Sicherung der neuen Sicherungskette eines Containers (sein Repository fehlte oder wurde zurückgesetzt) wurde an der alten Kette gemessen und als verdächtig markiert, weil in einem leeren Repository jede Datei neu ist. Die Vergleichsbasis beginnt jetzt mit der neuesten Kette. Ein Sicherungsstand, der vor dem Update so markiert wurde, bleibt markiert: Markieren Sie ihn als Fehlalarm. Die erste Sicherung einer neuen Kette heißt außerdem „Erste Sicherung“, nicht „Inkrementell“.

      0.4.6 Jede Edition

    • Entfernte Rechner behalten ihre Sicherungen durchsuchbar

      Bis ihre Sicherungen gelöscht sind, bietet die Seite eines entfernten Rechners deren Wiederherstellung an und sonst nichts: Die Sicherungsstände, das Durchsuchen, der ZIP-Download und der Repository-Schlüssel funktionieren für sie weiter, protokolliert wie bisher. Die Liste der entfernten Rechner verlinkt „Dateien wiederherstellen“. Das Wiederherstellen auf den Rechner und jede andere Aktion bleiben abgelehnt (404); sobald die Sicherungen gelöscht sind, ist der Rechner für jeden Leser weg. Vor 0.4.6 bot die Oberfläche die Sicherungen, die ein entfernter Rechner bis zum Ablauf behält, nicht an; seit 0.4.6 tut sie es.

      0.4.6 Jede Edition

    • „Prüfung eingereiht“, solange eine Restore-Prüfung wartet

      Nach „Jetzt prüfen“ bei einer VM oder einem Container steht in der Zeile „Prüfung eingereiht“ unter der letzten Prüfung und auf der Seite des Gastes über dem früheren Ergebnis, bis das Ergebnis da ist; beide aktualisieren sich währenddessen alle paar Sekunden.

      0.4.6 Jede Edition

    • Fehlertexte öffnen sich in einer Karte, die sich kopieren lässt

      Fehlertexte hinter einem Abzeichen oder einer abgeschnittenen Zeile (die Startprüfung, die Restore-Prüfung einer VM oder eines Containers auf ihrer Seite und in der Tabelle der Wiederherstellbarkeit) öffnen sich bei Hover oder Tastaturfokus in einer Karte mit dem ganzen Text, markierbar und mit einer Schaltfläche Kopieren, statt in einem Browser-Tooltip. Eine Startprüfung, die nicht gestartet ist, zeigt die Meldung des Knotens unter ihrem Abzeichen, auf der Seite des Gastes und in der Tabelle der Wiederherstellbarkeit.

      0.4.6 Jede Edition

    • 0.4.7

    • Microsoft 365: Deaktivierte, unlizenzierte und gesperrte Objekte stehen als „Nicht gesichert“, mit Grund

      Ein Postfach, dessen Konto deaktiviert ist oder keine Exchange-Online-Lizenz hat, lässt seine Sicherung nicht mehr jede Nacht mit „Microsoft hat die Anfrage abgelehnt“ scheitern. Die Sicherung fragt Microsoft einmal, ob der Benutzer existiert, aber kein Postfach hat, markiert das Postfach „Nicht gesichert: Konto deaktiviert“ oder „Nicht gesichert: keine Lizenz“ und endet neutral: keine Fehlerzählung, kein Rot wegen des Alters, nicht überfällig, keine Warnung backup.failed und kein Webhook job.failed, vorhandene Sicherungen bleiben erhalten. Der Verzeichnisabgleich setzt denselben Zustand aus seiner Postfach-Probe. Nur die Antwort von Exchange zählt: Ein deaktiviertes Konto, dessen Postfach Microsoft noch bereitstellt (ein geteiltes Postfach, eine ausgeschiedene Person), wird wie bisher gesichert, und ein 401 oder 403 wird nie so gelesen. Dasselbe gilt für ein OneDrive oder eine SharePoint-Website, die Microsoft gesperrt hat (HTTP 423, was Microsoft mit dem OneDrive eines Kontos ohne Lizenz tut): Sobald eine einzige billige Leseanfrage die Sperre bestätigt, steht dort „Nicht gesichert: gesperrt“, der Lauf endet ohne Wiederholungen, und das Objekt wird nicht mehr eingeplant; der Verzeichnisabgleich nimmt es erst wieder auf, wenn eine Leseanfrage auf das Laufwerk oder die Website wieder gelingt. Die Sicherung läuft von selbst weiter, sobald der Verzeichnisabgleich das Konto wieder aktiviert oder lizenziert findet. Ein Restore in das ursprüngliche Postfach wird mit dem Grund abgelehnt. Gegen eine simulierte Microsoft-Graph-API getestet, nicht gegen einen echten Microsoft-365-Mandanten.

      0.4.7 Jede Edition

    • Nicht mehr gesichert, bitte bestätigen

      Objekte, die Restow nicht mehr sichert, weil die Quelle sie als entfernt, deaktiviert, ohne Lizenz oder gesperrt meldet, stehen zuerst gelb als „Nicht mehr gesichert, bitte bestätigen“, mit Grund und Datum. Das ist kein Fehler, kein Rot und nicht überfällig, aber die Warnungen, das Dashboard und die Bereitschaft des Mandanten bleiben mindestens gelb (nie grün), die Integrations-API zählt sie in readiness.toConfirm, und Provider sehen inactive_to_confirm unter den Warnungen eines Mandanten, bis ein Administrator mit „Ja, beabsichtigt“ bestätigt: je Objekt oder für mehrere in der Liste, per Auswahl oder über den Filter der Liste (höchstens 1000). Mandanten-Administratoren und Provider-Teams mit Konfigurationsrecht dürfen bestätigen, und jede Bestätigung wird im Audit-Log festgehalten; über die API kann sie eine Notiz für das Audit-Log tragen. Bestätigte Objekte stehen grau als „Absichtlich nicht mehr gesichert“, mit dem Namen dessen, der bestätigt hat, und dem Zeitpunkt. Wird das Objekt wieder aktiv, entfällt die Bestätigung, und die Sicherung läuft weiter; hört es später wieder auf, fragt Restow erneut. Ein ausgeschlossenes Objekt, das aus der Quelle verschwindet, wurde nie gesichert und gilt als bestätigt. Die Liste der geschützten Objekte filtert nach to_confirm und confirmed. Die neuen Ereignisse object.inactive (ein Hinweis je Objekt und Übergang, standardmäßig in der Glocke) und object.inactive_many (eine Warnung je Mandant und Tag, wenn mehr als 10 Objekte oder mehr als 20 Prozent der zuvor gesicherten Objekte innerhalb eines Tages ausfallen) gehören zur Benachrichtigungsmatrix; ein Webhook bekommt sie als report.alert, sobald sie dort angehakt sind. Objekte, die schon vor dem Update verwaist waren, gelten als bestätigt, damit keine lange gelbe Liste entsteht. Migration 0069 speichert den Zustand.

      0.4.7 Jede Edition

    • Integrations-API 1.7.0: orphaned heißt jetzt auch „nicht mehr gesichert“

      Die einzige inkompatible Änderung des Releases: Der Status „orphaned“ in GET /api/v1/objects, GET /api/v1/users, im object von GET /api/v1/jobs und in objects.orphaned von GET /api/v1/status umfasst jetzt auch Objekte, die noch in der Quelle stehen, aber nicht mehr gesichert werden (Konto deaktiviert, keine Lizenz oder von Microsoft gesperrt); vorher hieß er „aus der Quelle entfernt“. Das neue statusReason (account_disabled, no_license, locked, null für ein aus der Quelle entferntes Objekt) unterscheidet sie, eine Integration, die orphaned als gelöschtes Konto behandelt, sollte es also prüfen, bevor sie handelt. Alles andere im Vertrag wächst additiv: inactiveSince und statusConfirmedAt an Objekten, toConfirm in der Bereitschaftszusammenfassung von status und verify/latest, eine recoveryReadiness eines Benutzers, die mindestens gelb zeigt, solange eines seiner Objekte auf eine Bestätigung wartet, ausgeschlossene Proxmox-VE-Gäste als guests.excluded (außerhalb von guests.total und guests.withoutJob), der Überspringgrund inactive für POST /api/v1/jobs/backup, data.job.result an den Webhooks job.completed und job.failed eines Restores und die neuen Alarm-Ereignisse. Clients, die Überspringgründe oder Ereignisnamen abschließend behandeln, sollten die neuen Werte akzeptieren.

      0.4.7 Jede Edition

    • Sicherungen, die Microsoft Graph oder der Speicher gebremst haben, zählen nicht mehr als fehlgeschlagen

      Eine Mail-&-SaaS-Sicherung, die nach allen Wiederholungen mit graph.throttled, graph.service_unavailable oder storage.rate_limited endet, steht in jeder Ansicht gelb als „Vom Dienst gedrosselt, wird wiederholt“ statt rot als „Fehlgeschlagen“: im Verlauf, in der Job-Übersicht aller Mandanten, in der Objektliste, in den Läufen eines Jobs, auf der Job-Seite, im Dashboard und in den Lauf-Details. Sie fällt aus den Fehlerzahlen der Statistik und des Dashboards heraus, lässt den Job nicht als fehlerhaft gelten (der Lauf davor zählt), macht keine Warnung rot und beendet keine Bestätigung, und sie löst keine Warnung backup.failed und keinen Webhook job.failed aus. Der nächste geplante Lauf versucht es erneut, und ein Objekt, das länger gebremst wird, fangen die Regeln für überfällige Sicherungen und die Bereitschaft auf, die das Alter der neuesten Sicherung ansehen. Ein Restore, Export, Import oder eine Prüfung, die ein Dienst gebremst hat, hat keinen nächsten Lauf und bleibt ein Fehler. Frühere Läufe, die mit diesen Ursachen endeten, zeigen nach dem Update dasselbe und fallen aus den Fehlerzahlen vergangener Zeiträume. Ein Hintergrund-Job beachtet außerdem ein Retry-After von bis zu 5 Minuten (vorher waren Wartezeiten auf etwa eine Minute begrenzt, und Exchange lehnt einen Wiederholungsversuch ab, bevor seine Strafe für gleichzeitige Postfachzugriffe vorbei ist); Anfragen aus der Oberfläche behalten die Grenze von einer Minute.

      0.4.7 Jede Edition

    • Eine der Microsoft-365-App erteilte Berechtigung wirkt ohne neues Client-Secret

      Ein Token trägt die Berechtigungen der App so, wie sie bei seiner Ausstellung waren, und Restow behielt es bis kurz vor seinem Ablauf (bis zu etwa einer Stunde); eine Berechtigung, die ein Administrator zwischendurch erteilte, wurde deshalb bis dahin oder bis zur Eingabe eines neuen Secrets abgelehnt. Antwortet Graph mit 401 oder 403, holt Restow jetzt einmal ein neues Token und sendet die Anfrage erneut, höchstens einmal je Minute und Mandant oder Quelle, sodass eine Reihe von Ablehnungen (ein Element, das die App nicht lesen darf) nicht jedes Mal ein Token holt; abgelehnte Teilanfragen eines $batch werden ebenfalls einmal erneut gesendet. Eine Anfrage, die mit dem neuen Token wieder abgelehnt wird, scheitert wie bisher. Das gilt für Sicherungen, Restores, den Verzeichnisabgleich, die Archiv-Erfassung, die Gruppensuche, den Verbindungstest und die Prüfung der Zustimmung. Ein Token-Endpunkt, der nicht erreichbar ist, wird noch zweimal gefragt (nach 1 und 4 Sekunden) und lässt dann den Lauf scheitern, der von seinem Prüfpunkt aus weiterläuft, statt jedes Element als fehlgeschlagen zu verbuchen. Benachrichtigungs-Mail über eine App-Registrierung holt nach einer Ablehnung noch kein neues Token: Eine später erteilte Berechtigung Mail.Send wirkt, sobald das zwischengespeicherte Token abläuft.

      0.4.7 Jede Edition

    • Eine wartende Sicherung blockiert nicht mehr die Sicherungswarteschlange aller Mandanten

      Eine wartende Sicherung eines Objekts, dessen Sicherung noch lief (der nächste geplante Lauf, „Jetzt sichern“), blockierte die Sicherungswarteschlange aller Mandanten, bis diese Sicherung endete, weil die Job-Warteschlange sie immer zuerst anbot und nichts herausgab. Ein solcher Job wartet jetzt auf die laufende Sicherung seines Objekts und lässt jede andere Sicherung vorbei. Restow liefert dafür pg-boss 10.4.2 mit einem eigenen Patch aus; die Images tragen ihn, und wer aus dem Quellcode baut, behält den Ordner patches.

      0.4.7 Jede Edition

    • Erinnerungen, bevor das Client-Secret oder das Zertifikat einer App-Registrierung abläuft

      Restow erinnert Provider-Administratoren 30 Tage, bevor das Client-Secret oder das Zertifikat der zentralen Microsoft-365-App-Registrierung abläuft, erneut 7 Tage vorher und nach dem Ablauf, jede Stufe einmal je Ablaufdatum; das Ereignis installation.app_secret_expiring ist eine Warnung, nach dem Ablauf ein Fehler. Eine Quelle, die über eine eigene App-Registrierung verbunden ist, bekommt dieselben Erinnerungen als source.app_secret_expiring, das auch Mandanten-Administratoren wählen können. Das Datum ist das unter Installation › Microsoft-Multi-Tenant-App eingetragene (ENTRA_CLIENT_SECRET_EXPIRES_AT bei einem Secret aus der Umgebung), das „Secret läuft ab am“ der eigenen App einer Quelle oder das Ende des Zertifikats selbst; Restow liest es nicht aus Microsoft Graph, das bräuchte Application.Read.All. Bei einer Quelle zeigt die Verbindungskarte „Läuft ab“, und das Datum lässt sich dort eintragen, ändern oder entfernen, ohne das Secret erneut einzugeben. Ein neues Datum, ein neues Secret oder ein neues Zertifikat beginnt die Erinnerungen von vorn. Die Glocke nennt die Stufe („läuft in 5 Tagen ab“, „Bitte jetzt erneuern“, „sind abgelaufen“), und die Mail nennt das Datum, die verbleibenden Tage und die Anwendungs-ID und sagt, wie sich ohne Lücke erneuern lässt: das neue Secret anlegen, mit seinem neuen Datum eintragen, erst dann das alte in Entra löschen. Das Ablauf-Abzeichen wird 30 Tage vor dem Ende gelb statt bei 60 und ab 7 rot. Quellen, die vor 0.4.7 über eine eigene App verbunden wurden, haben noch kein Datum: Tragen Sie es auf der Seite der Quelle ein.

      0.4.7 Jede Edition

    • Postfach, OneDrive, SharePoint und IMAP: Ein Fehler kostet einen Bereich oder ein Element, nicht den ganzen Lauf

      Postfach-Sicherung: Ein 403 für Kalender oder Kontakte (fehlende Berechtigung, eine Zugriffsrichtlinie, die nur Mail abdeckt) lässt diesen Bereich scheitern und behält die Mail des Laufs, statt den Sicherungsstand zu verwerfen; ein 401 mitten im Lauf setzt einen Prüfpunkt und läuft weiter; ein bekannter Ordner, den Graph nicht auflösen will, gilt als nicht vorhanden; ein Delta-Link, den Graph als ungültigen Sync-Zustand ablehnt, führt zu einem vollständigen Neuabgleich; eine Nachricht, die Exchange nicht in MIME umwandeln kann, wird wie eine übergroße als JSON mit ihren Anhängen gespeichert; ein Unterordner, der gelöscht wurde, während sein Elternordner aufgelistet wurde, lässt den Lauf nicht mehr scheitern. SharePoint: Eine Bibliothek oder Liste, die Graph nicht herausgibt, ist ein Elementfehler, der ihre letzte Kopie behält, und der Rest der Website bekommt seinen Sicherungsstand. OneDrive und SharePoint: Ein Element, das scheiterte und später im selben Lauf durchkam, bleibt nicht mehr unter den Fehlern, und ein OneDrive, dessen Laufwerk Graph nicht mehr findet, scheitert als „OneDrive nicht verfügbar“, dauerhaft und ohne Wiederholung. IMAP-Sicherung: Eine Anmeldung, die der Server vorerst ablehnt (zu viele Verbindungen, ein ausgefallenes Anmelde-Backend), und eine Download-Grenze sind die neue vorübergehende Ursache imap.server_limit, die von selbst wiederholt wird, statt eines falschen Passworts oder eines vollen Postfachs; während der Sicherung gelöschte oder verschobene Nachrichten zählen nicht als Fehler. IMAP-Archiv-Erfassung: Eine Nachricht, die der Server ablehnt, hält ihren Ordner oder den ganzen Durchgang nicht mehr auf (nach drei Durchgängen gibt die Erfassung sie auf), und Ordner, die ein Durchgang nicht erreichte, behalten ihren Stand. Jeder $batch von Graph sendet außerdem eine identische Leseanfrage nur einmal, sodass eine doppelte Request-ID keinen Batch mehr scheitern lässt, und eine Verbindung, die vor der Antwort von Graph abbrach, wird bei Leseanfragen wiederholt.

      0.4.7 Jede Edition

    • Restores, die nichts wiederhergestellt haben, werden nicht mehr als abgeschlossen gemeldet

      Ein abgeschlossener Restore mit fehlgeschlagenen Elementen und keinem wiederhergestellten steht als „Nichts wiederhergestellt“ (rot) da und löst restore.failed und den Webhook job.failed aus, mit „Nothing was restored: N items failed.“ als Fehlertext. Einer, der jedes Element übersprungen hat, steht als „Alles übersprungen“ (gelb) da und bleibt restore.completed, sagt das aber, statt zu behaupten, er habe etwas wiederhergestellt (in Chat-Kanälen Info, nicht Erfolg). Die Webhooks job.completed und job.failed eines abgeschlossenen Restores tragen seine Zähler in data.job.result (restored, skipped, failures, unverified).

      0.4.7 Jede Edition

    • Wiederherstellbarkeit und überfällige Sicherungen: entfernte Objekte, Mitglieder mit eigenem Zeitplan, laufende Sicherungen

      Ein Objekt, das aus seiner Quelle entfernt wurde (etwa ein in Microsoft 365 gelöschtes Postfach), wird nicht mehr rot, weil seine letzte Sicherung altert: Nichts sichert es mehr, und die Aufbewahrung behält immer seinen neuesten Sicherungsstand; es wird also danach bewertet, ob sich diese Sicherung wiederherstellen lässt, ohne die Gründe zum Alter, und ist nie überfällig; eine aufbewahrte Sicherung, die sich nicht wiederherstellen lässt, bleibt rot. Dieselbe Bewertung gilt in der Statistik, in der Objektliste, in der Gesamtbereitschaft des Mandanten, in der Integrations-API und in der Benachrichtigung verify.completed; die Tabelle sagt „In der Quelle entfernt, Sicherungen bleiben“, und die Berichtsseite beginnt mit dem Hinweis „Aus der Quelle entfernt“. Ein Objekt, dessen neueste Sicherung nie geprüft wurde, bekommt vom wöchentlichen Planer noch eine Prüfung. Bei backup.overdue wird ein Postfach-Mitglied mit eigenem Zeitplan nach diesem Zeitplan oder nach den Mail-Jobs des Mandanten beurteilt (dem entspanntesten), je nachdem, was länger erlaubt; ein wöchentliches Mitglied eines täglichen Jobs ist also zwei Tage nach seiner Sicherung nicht mehr überfällig, und ein Objekt, dessen Sicherung begonnen hat und noch läuft (bis zu 21 Tage, eine große erste Sicherung), ist ebenfalls nicht überfällig.

      0.4.7 Jede Edition

    • Proxmox VE: Einen Gast bewusst von der Sicherung ausschließen

      Ein Administrator kann eine VM oder einen Container von der Sicherung ausschließen, für Test-VMs oder Gäste, die anderswo gesichert werden: „Von der Sicherung ausschließen“ auf der Seite des Gastes oder, für eine Auswahl der Gäste eines Knotens, im Inventar; „Wieder einschließen“ nimmt es zurück. Mandanten-Administratoren und die Administratoren des Provider-Teams dürfen das. Kein Job sichert einen ausgeschlossenen Gast, auch nicht der Job für alle Gäste, und der empfohlene Job lässt ihn aus; sein eigener Job bleibt gespeichert, sodass das Wiedereinschließen wiederherstellt, was er hatte. Das Ausschließen zieht seine wartenden Sicherungen zurück (eine im selben Moment eingereihte Sicherung wird beim nächsten Heartbeat des Knotens zurückgezogen, bevor der Knoten sie bekommt), und „Jetzt sichern“ und das Aufnehmen des Gastes in einen Job werden abgelehnt, bis er wieder eingeschlossen ist. Ein ausgeschlossener Gast zählt nirgends als ungeschützt: nicht in den Übersichten, der Wiederherstellbarkeit, den Warnungen, backup.overdue, der Statistik oder der Provider-Ansicht, und er hält nie einen Mandanten vom Grün ab; die Gästezahlen führen ihn als ausgeschlossen. In VMs & Container steht er als „Ausgeschlossen“ (grau, nie ein Problem) und hat einen eigenen Zustandsfilter, und das Inventar zeigt „Ausgeschlossen: N“ je Knoten. Seine Sicherungsstände bleiben wiederherstellbar, und die Aufbewahrung behandelt sie wie bisher. Neue Route PUT /api/v1/pve/guests/:id/excluded, im Audit-Log als pve.guest.excluded. Das Update schließt keinen Gast aus; Gäste in keinem Job zählen weiter als „in keinem Backup-Job“, bis ein Administrator sie ausschließt. restow-pve braucht dafür kein Update.

      0.4.7 Jede Edition

    • Proxmox VE: Größe der ersten Sicherung und einer Folgesicherung als Text im Inventar

      Das Inventar zeigt die Größe der ersten Sicherung eines Gastes („Erste Sicherung am“ mit Datum und gespeicherter Größe) und was eine Folgesicherung im Durchschnitt hinzufügt („Durchschnitt je Folgesicherung“ mit der Größe und der Zahl der zugrunde liegenden Sicherungen) als Text in der Zeile des Gastes, nicht nur im Tooltip, sodass beides gelesen und kopiert werden kann.

      0.4.7 Jede Edition

    • Empfohlener Job mit dem Mail-Archiv

      Solange die Installation die Archiv-Erfassung aus dem Postfach anbietet (Business und Service Provider) und der Mandant Postfächer oder Konten hat, die ein Archiv erfassen kann, lassen „Empfohlenen Job anlegen“ und „Alles ohne Job schützen“ den neuen Mail-Job über alle Objekte sichern und archivieren. Ein bestehender Mail-Job über alle Objekte, der noch nicht archiviert, wird stattdessen auf Archivierung umgeschaltet („Archivierung einschalten in …“); seine Zeitpläne bleiben, und die Änderung wird wie eine Bearbeitung im Job-Editor im Audit-Log festgehalten. Der Klick nimmt die Erfassungswege, die im Mandanten nichts weiter brauchen: Microsoft Graph für Microsoft-365-Postfächer, IMAP-Abgleich für die übrigen Konten; Journaling und Weiterleitung bleiben eine Wahl im Editor. Der empfohlene Job ändert nie einen Mail-Job über ausgewählte Objekte (die Vorschau nennt sie), und ein Mail-Job über alle Objekte, dessen Erfassungswege von Hand gewählt wurden, bleibt, wie er ist, was die Vorschau sagt. Die Liste der Mail-Jobs zeigt „Archivierung einschalten“, wo die Empfehlung sie einschalten würde. Ohne die Erfassung entsteht der empfohlene Job wie bisher, und bestehende Mail-Jobs ändern sich nur, wenn ein Administrator ihn anwendet.

      0.4.7 Jede Edition

    • Monatspreise und eine Preisschätzung je Mandant für Provider

      Unter Installation › Preise trägt der Eigentümer der Installation einen Monatspreis je Postfach und je GB oder TB gespeicherter Sicherungen ein, in EUR, CHF, USD oder GBP (höchstens vier Nachkommastellen; ein leer gelassener Preis wird nicht angezeigt). Postfächer werden wie in der Postfach-Nutzung gezählt (ein OneDrive zählt nicht doppelt); der Speicher sind die gespeicherten Sicherungen des Mandanten, dedupliziert und komprimiert, in dezimalen Einheiten (1 GB = 10^9 Byte). Provider-Administratoren mit allen Mandanten können die Preise lesen, nur der Eigentümer ändert sie, und jede Änderung wird mit den Werten vorher und nachher im Audit-Log festgehalten. Die Übersicht jedes Mandanten zeigt Provider-Administratoren dann eine Kachel „Preis je Monat“ mit dem, was der Mandant zu diesen Preisen ausmacht, eine Zeile für die Postfächer und eine für den Speicher, und einen Link zu den Preisen. Mandanten-Benutzer sehen nie Preise. Restow rechnet nichts ab und begrenzt nichts, und nach dem Update sind die Preise leer.

      0.4.7 Jede Edition

    • Korrekturen: Restores von IMAP und Listen, Zeitlimits von Jobs, Demo-Seed, Formulierungen

      Ein IMAP-Restore, dessen Verbindung abbricht, scheitert jetzt und wird auf einer neuen Verbindung wiederholt, wo die Prüfung der Message-ID überspringt, was schon angehängt wurde, statt als „abgeschlossen“ mit allen übrigen Elementen als fehlgeschlagen zu enden. Ein wiederholter Restore einer SharePoint-Liste im Modus „Beide behalten“ fügt die Elemente, die der unterbrochene Versuch angelegt hat, nicht mehr hinzu, und ein wiederholter Restore von Kontakten in diesem Modus legt Kontakte nicht mehr doppelt an. Ein Restore in ein Postfach, das per Adresse angegeben ist, löst das Postfach auf, das die API angenommen hat, sodass eine doppelte Adresse nicht mehr ein anderes wählt. Das Zeitlimit eines Jobs zählt ab dem Moment, in dem ihn die Warteschlange herausgab, auch während er auf einen freien Platz seines Mandanten wartet; ein Abbruch, der eintrifft, während ein Versuch startet oder scheitert, bleibt erhalten; ein Job, den der Reconciler endgültig beendet, löst wie jeder andere den Webhook job.failed, die Glocke und die Benachrichtigungsregeln aus. Der Seed der öffentlichen Demo scheitert nicht mehr, wenn Restow die erste Sicherung eines Objekts selbst eingereiht hat, was die Demo auf ihrer Seite „wird zurückgesetzt“ hängen ließ. Die Job-Seite nennt die Phasen einer SharePoint-Website-Sicherung („Website wird gelesen“, „Listen“) und der Suche nach Websites und Gruppenpostfächern, und die Hinweise zur Aufbewahrung sagen, dass der neueste Sicherungsstand jedes Objekts immer erhalten bleibt. „Aus Restow entfernen“ sagt nicht mehr, der Datei-Restore biete die Sicherungen eines entfernten Rechners nicht mehr an (er bietet sie seit 0.4.6 an), und die Lizenzseite führt die Anmeldung mit Microsoft nicht mehr unter dem auf, was Business freischaltet, weil sie noch nicht verfügbar ist.

      0.4.7 Jede Edition

    • Abhängigkeiten: better-auth, Mail-Bibliotheken, Vite, React und die Build-Werkzeuge

      better-auth 1.7.14, mailparser 3.14.1, nodemailer 10.3.1, smtp-server 3.21.3, msgreader 1.29.0, Biome 2.6.4, Vitest 5.0.5, Vite 8.3.5, React 19.3.1 und, in den Release-Pipelines, docker/login-action 4.7.0. zod 4 gehört nicht zu diesem Release.

      0.4.7 Jede Edition

    • Hinweise zu Abhängigkeiten: ip-address, seroval und zod

      ip-address 10.7.5 (von 10.7.2), eine transitive Abhängigkeit über socks, behebt einen Hinweis mittlerer Schwere; socks kommt mit der IMAP-Bibliothek und wird nur für Verbindungen über einen SOCKS-Proxy genutzt, den Restow nicht konfiguriert. seroval 1.7.5 (von 1.6.7, über den TanStack-Router) behebt GHSA-7rv5-mrxv-xcr9, GHSA-wp97-x4hv-qvhp und weitere Hinweise zu seinem Deserialisierer, und zod 4.6.7 (ein Override für die Kopie, die better-auth nutzt) behebt dort GHSA-mrhx-c7xc-m3w5. Dieser Hinweis (Speicherverbrauch beim Prüfen eines großen Arrays) nennt auch zod 3, das die eigene Anfrageprüfung von Restow nutzt und für das es kein korrigiertes 3.x gibt; das Audit der CI ignoriert diesen einen Hinweis, bis Restow auf zod 4 umgestellt ist. Die Grenze für den Anfragekörper der API (1 MB auf den meisten Routen) begrenzt ihn: Ein 1-MB-Array, das Element für Element scheitert, kostet für diese Anfrage etwa 150 MB und eine Sekunde der API.

      0.4.7 Jede Edition

  2. Geplant

    Als Nächstes

    Entschieden und vor den Punkten unter Später erwartet. Keine Versionsnummern und keine Termine: Ein Punkt rückt nach „Ausgeliefert“, wenn ihn ein veröffentlichtes Release enthält, nicht vorher.

    • Bedienung

    • Inventar und Schutzgruppen

      Aufbauend auf der Rechnertabelle aus 0.2.1 ordnen Schutzgruppen neue Rechner nach Profil, Betriebssystem, Hostname oder Tag einem Job zu, und der Installationsbefehl kann den Job mitbringen. Dass der Agent die üblichen Linux-Datenordner meldet, damit der Job-Editor Pfade vorschlagen kann, ist seit 0.4.0 ausgeliefert; die Schutzgruppen nicht.

      Jede Edition

    • Vollständige Assistenten

      Assistenten Schritt für Schritt für eine neue Quelle oder einen neuen Agent, das Einschalten des Archivs und einen neuen Mandanten, mit Schrittleiste und Entwürfen, die Sie später fortsetzen. Entwürfe enthalten nie Geheimnisse.

      Jede Edition

    • Touch und Suche

      Die Zeilenaktionen der Kontextmenüs als Bottom-Sheet auf Touchscreens und eine Befehlspalette, die auch Postfächer, Rechner und Läufe per ID findet.

      Jede Edition

    • Pins und Befehlspalette

      Seiten, Mandanten und Mandantenreiter oben im Menü anpinnen, ein Kontextmenü auf Menüeinträgen und Reitern (anpinnen, in neuem Tab öffnen, Link kopieren) und eine Befehlspalette, die jede Seite und jeden Mandantenreiter erreicht.

      Jede Edition

    • Microsoft, Archiv, Marke

    • Microsoft-365-App je Mandant

      Über die eigene Graph-App hinaus, die eine Quelle seit 0.2.2 nutzen kann (ein Client-Geheimnis oder Zertifikat, das Sie eingeben): Jeder Mandant verbindet Microsoft 365 mit einer eigenen App, registriert im Microsoft-Verzeichnis dieses Mandanten. Restow erzeugt je Mandant ein Zertifikat, dessen privater Schlüssel Restow nie verlässt, führt mit den Werten dieses Mandanten durch die Registrierung, prüft jede Berechtigung und warnt vor Ablauf des Zertifikats. Die installationsweite Multi-Tenant-App mit Zustimmungslink bleibt als Option; bestehende Verbindungen laufen unverändert weiter. Seit 0.4.7 erinnert Restow schon 30 Tage vorher, 7 Tage vorher und nach dem Ablauf des Client-Secrets oder Zertifikats der zentralen App-Registrierung oder der eigenen App einer Quelle; das Datum wird eingetragen (ein Zertifikat bringt sein eigenes mit) und nie aus Microsoft Graph gelesen.

      Jede Edition

    • Ersetzen-Modus für OneDrive-Dateien

      Ein optionaler Restore-Modus für OneDrive-Dateien, bei dem die aktuelle Datei zur früheren Version wird statt gelöscht zu werden. Nie für Mail.

      Jede Edition

    • Archiv als Mail-Browser mit sichtbarem Nachweis je Mail

      Das Archiv bekommt einen eigenen Bereich und liest sich wie ein Postfach, das Sie durchblättern. Jede Mail zeigt ihren Nachweis: die Kettenwerte, die letzte Kettenprüfung mit Ergebnis (gespeichert und im Audit-Log vermerkt) und den tatsächlichen Object-Lock-Zustand des Speichers. Das Journaling hält eine Mail fest, bevor Nutzer sie sehen. Repositories bekommen einen Zweck, Backup oder Archiv; ein Archiv-Repository verlangt Object Lock oder die ausdrückliche Bestätigung, dass es keins hat.

      Jede Edition

    • Archiv-Nachweise und Endnutzer-Suche

      Ein Prüferexport mit den Kettenwerten, ein signierter PDF-Nachweisbericht, die Wahl je Postfach zwischen nur sichern und sichern und archivieren sowie die Suche im eigenen Archiv für Endnutzer. Teilweise seit 0.4.2 da: Der Mail-Job-Editor fragt je Job, ob er sichert, archiviert oder beides; je Postfach ist nicht gebaut.

      Jede Edition

    • Externe tägliche Anker für die Archiv-Kette

      Die täglichen Anker der Hash-Kette des Archivs, per E-Mail versandt oder als RFC-3161-Zeitstempel. Seit 0.3.1 versiegelt der Worker jede Nacht einen Anker, und die Archivprüfung gleicht damit ab, aber die Anker bleiben in Restow: Noch versendet oder stempelt sie nichts extern. Geplant.

      Jede Edition

    • Generator für die Verfahrensdokumentation

      Ein Dokument je Mandant (Verfahrensdokumentation), erzeugt aus der tatsächlichen Konfiguration und einer Vorlage, als Markdown und PDF, versioniert und datiert. Die vollständige Verfahrensdokumentation bleibt Aufgabe Ihrer Organisation. Geplant.

      Jede Edition

    • Anmeldung mit Microsoft und Single Sign-on (SSO)

      Anmeldung mit einem Microsoft-Konto für Personen, die bereits ein Restow-Konto haben, und Single Sign-on. Der Code für die Microsoft-Anmeldung ist vorhanden, aber nichts verknüpft bisher ein Konto mit einer Microsoft-Identität; heute kann sich daher niemand mit Microsoft anmelden, und Restow legt auf diesem Weg keine Konten an.

      BusinessService Provider

    • White Label

      Ihre Marke statt Restow: Produktname, Logos für hell und dunkel, Akzentfarbe, Anmeldeseite, Support-Kontakt und Absendername, festgelegt für die Installation und je Mandant überschreibbar. Gilt für die Oberfläche, das Endnutzer-Portal, E-Mails und PDF-Berichte. Grün bleibt für bestandene Restore-Prüfungen reserviert.

      Service Provider

  3. Geplant

    Später

    Entschieden, weiter entfernt oder noch nicht begonnen, und keinem Release zugeordnet. Keine Versionsnummern und keine Termine.

    • Nachweis und Betrieb

    • Dashboard der Wiederherstellbarkeit mit Trend

      Der Anteil nachweislich wiederherstellbarer Sicherungen, aufgeteilt nach Zustand (bestanden, fällig, nicht abgeschlossen und wiederholt, fehlgeschlagen, Sicherung zu alt, nie geprüft), mit einem Trend über zwölf Wochen.

      Jede Edition

    • Repository-Alarme

      Eine Warnung bei 80 Prozent und ein kritischer Alarm bei 90 Prozent der Kapazität eines Repositorys auf lokalen und NFS-Zielen, optional auch oberhalb einer selbst gesetzten Größe auf jedem Ziel, S3 eingeschlossen. Neue und bestehende Installationen bekommen diese Regeln vorbelegt. Seit 0.4.0 bekommen Provider-Admins bereits einen Hinweis „Wenig Speicherplatz“ für den Datenträger unter der Datenbank und unter dem lokalen Standard-Repository (bei weniger als einem Zehntel frei, und immer unter 5 GiB). Seit 0.4.5 deckt der Hinweis auch die Systemplatte des Servers ab, und die Seite Repositories, die Zeile „Sicherungen landen in:“ der Job-Editoren und die Speicherkachel des Dashboards warnen, wenn ein Verzeichnis-Repository auf ihr liegt.

      Jede Edition

    • Kapazitätsplanung

      Auslastung und Wachstum je Mandant und je Repository, mit einer klaren Prognose wie „voll in etwa N Tagen“. Über das hinaus, was das Dashboard seit 0.4.0 zeigt: das Speicherwachstum des Mandanten, den Sie ansehen, und, wo der freie Platz bekannt ist, wann sein Repository bei diesem Wachstum voll ist. Seit 0.4.5 sehen Provider-Admins auf der Speicherkachel des Dashboards außerdem, für ein Repository auf der Systemplatte, den freien Platz, seinen Verlauf über die letzte Woche und den Tag, an dem diese Platte voll wäre.

      Jede Edition

    • PDF-Berichte

      Wiederherstellbarkeit, ein Zeitraum (Backups, Restores, Prüfungen), das Audit-Log und die Mandanten als PDF, jeder Bericht im Audit-Log mit dem Hash der Datei vermerkt. Der Audit-Bericht kommt mit Business und Service Provider, die Mandantenberichte mit Service Provider.

      Jede Edition

    • Signierter Wiederherstellungsnachweis

      Ein Restore-Bericht mit Prüfsumme und Signatur, den jede und jeder ohne Restow prüfen kann.

      BusinessService Provider

    • Vollständiger Test-Restore in ein separates Ziel

      Ein vollständiger Test-Restore in ein separates Ziel, über die wöchentliche Stichproben-Rücklesung hinaus. Für Proxmox-VE-Gäste sind Startprüfungen von Sicherungsständen ausgeliefert (0.4.0); für Mail, OneDrive und Dateien gibt es nur die Stichproben-Rücklesung.

      Jede Edition

    • Vier-Augen-Freigabe

      Eine zweite Person gibt Restores und Löschungen frei, bevor sie laufen.

      BusinessService Provider

    • Rollenbezogene Archivsuche mit Vier-Augen-Freigabe

      Ein Provider-Administrator durchsucht das Archiv eines Kunden erst nach Freigabe durch den Mandanten (Vier-Augen-Freigabe), aufbauend auf der Vier-Augen-Freigabe. Geplant.

      Jede Edition

    • Aufbewahrungsrichtlinie je Mandant

      Heute gilt für jeden Mandanten dieselbe feste Richtlinie: 8 Jahre, Fristende am 31. Dezember des Jahres des Eingangs. Geplant: eine Richtlinie je Mandant, wählbar als 6, 8 oder 10 Jahre oder unbegrenzt, optional je Postfach-Gruppe, mit Fristbeginn am Erfassungsdatum oder am Ende des Kalenderjahres.

      Jede Edition

    • Archivsuche in Anhängen und nach Größe

      Die Archivsuche deckt Betreff, Adressen und Nachrichtentext ab. Geplant: Suche in Anhängen (PDF, DOCX, XLSX, TXT) und nach Postfach und Größe.

      Jede Edition

    • Löschprotokoll als Eintrag der Archiv-Kette

      Jede Löschung nach Fristablauf steht heute im Audit-Log. Geplant: ein Löschprotokoll als eigener Eintrag der Hash-Kette, mit der Anzahl der Objekte, dem Zeitraum und den Hashes der gelöschten Objekte.

      Jede Edition

    • Archivprüfung im Hintergrund, mit Fortschritt

      Die Archivprüfung (Kette, Anker und eine Stichprobe der Inhalte) läuft heute in einer einzigen Anfrage. Geplant: ein Lauf im Hintergrund, der seinen Fortschritt zeigt.

      Jede Edition

    • Legal Hold je Suchergebnis

      Ein Legal Hold gilt heute für einen ganzen Mandanten oder ein Postfach, mit verpflichtender Begründung. Geplant: ein Hold auf ein Suchergebnis.

      Jede Edition

    • Signiertes release.json

      Jedes Release veröffentlicht zusätzlich ein maschinenlesbares release.json mit den Image-Digests, mit cosign signiert wie die Images, damit Update-Werkzeuge ein Release prüfen können, bevor sie es installieren.

      Jede Edition

    • Selbstheilung, erste Stufe

      Restow erkennt Probleme und ergreift von selbst sichere Maßnahmen: Es wiederholt, gibt veraltete Sperren frei, prüft erneut, liefert fehlende Daten mit einem neuen Backup nach und benachrichtigt Sie mit der genauen Abhilfe. Es löscht nie Daten und kürzt nie die Aufbewahrung, und jede Maßnahme ist im Audit-Log sichtbar. Drei enge Fälle gibt es: Seit 0.4.2 beginnt ein Container, dessen Repository fehlt, von selbst eine neue Sicherungskette (im Audit-Log festgehalten, auf der Seite des Gastes sichtbar; eine Dateifreigabe ist noch nicht abgedeckt), und die Speicherprüfung liest ein Pack, das sie nicht lesen konnte, erneut, bevor sie etwas als beschädigt wertet; seit 0.4.3 entfernt Restow veraltete restic-Sperren vor einer Restore-Prüfung von Proxmox VE und vor der Aufbewahrung und versucht eine Prüfung, die eine Sperre aussperrt, erneut, statt sie scheitern zu lassen. Der allgemeine Mechanismus mit Erkennung, sicheren Maßnahmen und Hinweisen zur Abhilfe im ganzen Produkt ist nicht gebaut.

      Jede Edition

    • Blockebene

    • Dateisystem-Snapshots im Agent

      LVM-, ZFS- und btrfs-Snapshots unter Linux und APFS-Snapshots unter macOS, damit Dateien, die sich während eines Backups ändern, konsistent bleiben. Heute kommt die Konsistenz aus optionalen Pre- und Post-Hooks, die root auf dem Rechner erlauben muss.

      Jede Edition

    • Linux-Abbild-Backup auf Blockebene mit Bare-Metal-Restore

      Eine ganze Linux-Maschine wird als Abbild auf Blockebene gesichert und lässt sich per Bare-Metal-Restore auf leere Hardware zurückspielen. Heute sichert der Agent nur Dateien.

      Jede Edition

    • Windows-Agent mit VSS und Abbild

      Der Agent für Linux und macOS ist ausgeliefert. Ein Windows-Dienst mit Unterstützung für Schattenkopien (VSS) ist geplant, für Dateien und für Abbilder. Seit 0.4.0 sichert eine SMB-Freigabe einen Windows-Dateiserver vom Server aus, ohne Agent und ohne VSS.

      Jede Edition

    • Remote-Knoten als Data Mover

      Ein zweiter Rechner, etwa an einem anderen Standort, erledigt die Backup-Arbeit nah an den Daten und schreibt ins Repository. Knoten werden mit einem Assistenten hinzugefügt, signieren jede Anfrage mit ihrem eigenen Schlüssel und erhalten das Schlüsselmaterial nur je Aufgabe.

      Jede Edition

    • Automatische Skalierung

      Opt-in: Worker werden nach Schwellen hinzugefügt und entfernt, mit Abklingzeit und Höchstzahl.

      Jede Edition

    • Anbindungen und Formate

    • Google-Workspace-Backup

      Gmail und Google Drive als Quellen unter Mail & SaaS, neben Microsoft 365 und IMAP, je Mandant verbunden wie Microsoft 365.

      Jede Edition

    • OAuth2 für IMAP-Quellen

      Noch nicht umgesetzt. Anmeldung per OAuth2 statt Passwort für IMAP-Postfächer bei Microsoft 365 oder Google.

      Jede Edition

    • Agent-mTLS

      Ein Client-Zertifikat je Agent statt eines Geheimnisses je Agent.

      Jede Edition

    • PST- und OST-Import

      PST- und OST-Dateien werden heute erkannt und mit einer Erklärung abgelehnt. Sie zu lesen ist geplant; bis dahin zuerst nach MSG, EML oder MBOX exportieren.

      Jede Edition

    • PST-Export

      Export als EML in einer ZIP-Datei und als MBOX ist ausgeliefert. Der PST-Export ist geplant. Der EML-Export enthält dieselben Nachrichten in der Originalform.

      Jede Edition

    • MSG-Export

      Geplant, sobald es einen Schreiber mit klarer, freizügiger Lizenz gibt. Der EML-Export enthält dieselben Nachrichten in der Originalform.

      Jede Edition

    • SFTP-Repository

      SFTP als Repository.

      Jede Edition

  4. Bewusste Entscheidungen

    Vorerst nicht geplant

    • Teams

      Teams-Chats werden nicht gesichert und sind vorerst nicht geplant. Die SharePoint-Websites hinter Teams deckt das SharePoint-Online-Backup seit 0.4.0 ab, und seit 0.4.5 werden Kalender und Unterhaltungen der Microsoft-365-Gruppe hinter einem Team als Gruppenpostfach gesichert (Opt-in).

      Jede Edition

    • Ebenfalls nicht geplant

      Exchange Public Folders, eDiscovery-Fallverwaltung und eine mobile App. Restow ist kein RMM- oder PSA-Werkzeug; seine API bindet Ihres an.

      Jede Edition

Frühere Releases 0.1.0 bis 0.3.6

Alles, was vor der aktuellen Release-Linie ausgeliefert wurde, das neueste zuerst.

  1. Ausgeliefert

    0.3.1 bis 0.3.6

    Proxmox-VE-Preview, Mitglieder, Benachrichtigungen

    0.3.0 wurde getaggt, aber nie veröffentlicht: Seine Release-Prüfungen fanden die ersten beiden Fehler, daher ist 0.3.1 das erste Release der 0.3er-Linie. Das Update von 0.2.x führt sechs Datenbankmigrationen aus; lesen Sie die Hinweise zum Update von 0.3.1.

    • Proxmox VE (Preview)

      Backup von VMs und Containern auf Proxmox VE ab 8.4 über die Backup-Provider-API: VM-Festplatten über NBD mit Dirty Bitmaps, sodass nur geänderte 4-MiB-Blöcke hochgeladen werden; Container über restic; Restore als neue VMID in den Pool restow-restore. Gäste zählen bei Wiederherstellbarkeit, Warnungen und Alarmen für überfällige Sicherungen mit. Die Knotenseite ist ein Storage-Plugin-Shim (ein eigenes Werk unter AGPL-3.0-or-later) und der Helfer restow-pve (Apache-2.0). Eine Preview: gegen qemu-nbd, qemu-img und restic getestet; als einzige Sicherung noch nicht empfohlen.

      0.3.1 Jede Edition

    • Mehrere Administratoren in jeder Edition

      Mitglieder mit Rollen, auch in Community; ein Mitglied auf ausgewählte Mandanten zu beschränken bleibt Teil von Service Provider. Inhaber können den Zugang eines Mitglieds zurücksetzen. Bevor eine Änderung der öffentlichen URL oder des Betriebsmodus Passkeys unbrauchbar macht, nennen die Einstellungen die betroffenen Konten und verweigern eine Selbstaussperrung. Bei verlorenem Zugang bietet die Anmeldeseite einen Zurücksetzen-Link per Mail, wenn die Benachrichtigungs-Mail eingerichtet ist, und immer den Weg über einen Inhaber oder restow admin recover. Ihr Konto: Passwort ändern, Sitzungen sehen und beenden.

      0.3.1 Jede Edition

    • NFS-Netzlaufwerke über die Weboberfläche

      Unter Installation, Netzlaufwerke über den optionalen Mounter-Container (docker compose --profile mounts up -d mounter oder die Installer-Option --with-mounter): Der Mounter prüft ein Netzlaufwerk, bevor er docker-compose.override.yml schreibt, startet api und worker neu und rollt bei einem Fehler zurück; der Updater zieht ihn bei jedem signierten Update mit. Nur gegen Attrappen getestet, nicht gegen einen echten NFS-Server.

      0.3.1 Jede Edition

    • Alarme in Discord, Slack und Microsoft Teams

      Ein Webhook bekommt ein Format, gewählt anhand seiner URL: Discord, Slack oder Microsoft Teams, neben dem signierten Restow-Umschlag. 4xx-Antworten von Chat-Diensten beenden eine Zustellung sofort, statt sie zu wiederholen. Nur gegen Attrappen getestet.

      0.3.1 Jede Edition

    • Überfällige Sicherungen und Warnungen

      Ein neues Ereignis, backup.overdue, für Postfächer, OneDrives, IMAP-Konten, Rechner und Proxmox-Gäste, das die Zeitpläne der Backup-Jobs berücksichtigt; eine Alarmregel kann eine eigene Frist setzen (24 bis 720 Stunden). Warnungen nennen, warum einzelne Elemente nicht gesichert wurden (Ordner, Betreff, Datum, Ursache, was zu tun ist), und lassen sich mit einer Notiz bestätigen. Die Glocke führt zur Ursache, und eine Seite Benachrichtigungen bewahrt den Verlauf.

      0.3.1 Jede Edition

    • Benachrichtigungs-Mail über Microsoft 365 oder Google Workspace

      Die Benachrichtigungs-Mail lässt sich über Microsoft 365 (eine eigene App mit Mail.Send oder die Backup-App) oder über Google Workspace (ein Dienstkonto mit gmail.send) senden, mit Anleitungen und klaren Fehlermeldungen. Nur gegen Attrappen getestet.

      0.3.1 Jede Edition

    • Audit-Log-Export

      Export des Audit-Logs als CSV und als JSON mit Hashes. Die Zustellprotokolle lassen sich als CSV exportieren.

      0.3.1 BusinessService Provider

    • Archiv je Mail-Job, Lesen und Suche

      Archiv je Mail-Job; Journalberichte werden den Postfächern zugeordnet, die sie nennen. Die Kettenprüfung verifiziert jedes Glied, die täglichen Anker (jetzt jede Nacht geschrieben) und auf Wunsch eine Stichprobe der Nachrichteninhalte. Archivierte Nachrichten lassen sich lesen und als .eml herunterladen; die Suche blättert durch ihre Ergebnisse und filtert nach Absender, Datum und Postfach; ein Hinweis sagt, wie der Speicher archivierte Mail schützt.

      0.3.1 Jede Edition

    • Legal Hold mit protokollierter Aufhebung

      Ein Legal Hold wird mit einer verpflichtenden, protokollierten Begründung aufgehoben; Holds können ein einzelnes Postfach betreffen.

      0.3.1 BusinessService Provider

    • Klar sagen, was geschützt ist

      Rechner, die in keinem Backup-Job sind, zählen nirgends mehr als geschützt (Übersicht, Provider-Ansicht, Wiederherstellbarkeit, Berichte). Das Verzeichnis, die Backup-Jobs und die Rechner sagen, welcher Job ein Objekt sichert, und nennen Objekte in pausierten oder nicht geplanten Jobs. Übersicht, Statistik zeigt nur den aktiven Mandanten; die Statistik aller Mandanten hat für Service Provider eine eigene Seite.

      0.3.1 Jede Edition

    • Proxmox-VE-Knoten mit einem Befehl anbinden

      Ein Befehl je Knoten, mit dem Enrollment-Token darin. Der Knoten-Installer richtet den Benutzer restow@pve, die Rollen und den Restore-Pool selbst ein, legt einen eigenen API-Token an, prüft seine Rechte, bevor er etwas installiert, und wählt den Thin-Speicher für Fleecing selbst. Stattdessen lässt sich ein vorhandener Proxmox-VE-API-Token verwenden, der dem Knoten einmal übergeben wird. Das Storage-Plugin meldet die Storage-API des laufenden Proxmox VE (8.4 bis 9.1). Gegen Attrappen für pveum und pvesm getestet; Proxmox VE ist eine Preview und wird als einzige Sicherung noch nicht empfohlen.

      0.3.2 Jede Edition

    • Microsoft-365-Postfach-Backups bleiben im Ordnerschritt nicht mehr stehen

      Eine Postfach-Sicherung konnte im Ordnerschritt mit „Microsoft hat die Anfrage abgelehnt“ scheitern (HTTP 400, eine ID, die in einem Batch eindeutig sein muss), wenn Microsoft beim Lesen der Ordnerliste einen Ordner doppelt aufführte. Jeder Batch nutzt jetzt eigene IDs, und jeder Ordner wird einmal gelesen.

      0.3.2 Jede Edition

    • Repositories: eine NFS-Adresse im Pfadfeld

      Das Pfadfeld eines Verzeichnis-Repositorys nimmt eine NFS-Adresse an (192.168.1.10:/export/backup, nas.local:/volume1/restow oder nfs://). Der Provider-Inhaber kann sie dort testen und einbinden, und Restow trägt den Pfad ein; laufen Jobs, wartet das Einbinden, bis keiner läuft, und lässt sich abbrechen. Ein Menüeintrag Repositories steht unter Ihrer Organisation, und die Oberfläche sagt überall Repository statt Speicherort. Gegen die Attrappen des Mounters getestet, noch nicht gegen einen echten NFS-Server; solange ein Einbinden wartet, starten neue Jobs weiter.

      0.3.3 Jede Edition

    • Proxmox-VE-Knoten im Inventar

      Unter Server & Clients, Inventar ist jeder Proxmox-VE-Knoten eine aufklappbare Zeile mit seinem Online-Zustand und Zahlen (geschützt, fehlgeschlagen, kein Job, noch nicht gesichert); aufgeklappt zeigt jede VM und jeder Container Status, Backup-Job und Sicherungszustand sowie den Grund, warum die letzte Sicherung fehlschlug, verlinkt auf seine Seite. Für Administratoren, sobald ein Cluster verbunden ist.

      0.3.3 Jede Edition

    • Proxmox VE: nicht privilegierte Container

      Sicherungen nicht privilegierter Container auf ext4 scheitern nicht mehr am Ordner lost+found. Eine Container-Sicherung, die restic nicht vollständig lesen konnte (Exit-Code 3), behält ihren Sicherungsstand und nennt die nicht lesbaren Elemente. VMs & Container zeigen, wenn eine Sicherung auf ihren Knoten wartet oder läuft. Nach dem Server-Update auf jedem Knoten restow-pve update ausführen.

      0.3.4 Jede Edition

    • Rolle Restore-Operator

      Eine neue Rolle je Mandant: Der Restore-Operator sieht und stellt jedes Backup des Mandanten wieder her, ohne ihn zu verwalten (Jobs, Speicher, Benutzer). Beim Anlegen eines Benutzers oder einer Einladung muss jetzt immer eine Rolle gewählt werden; es ist keine mehr vorausgewählt.

      0.3.5 Jede Edition

    • Proxmox VE: was ein Backup enthält und was es hinzugefügt hat

      VMs & Container und das Inventar bekommen eine Spalte „Sicherung“ mit dem, was der neueste Wiederherstellungspunkt enthält und was sein Lauf hinzugefügt hat („9,4 GB im Backup, +2,5 MB neu im letzten Lauf“), mit dem ersten Backup beim Daraufzeigen. Die frühere Spalte „Größe“ heißt jetzt „Disk“. Auf der Seite eines Gasts zeigen die Wiederherstellungspunkte ihren Typ (erstes Backup, inkrementell, vollständig gelesen), was sie enthalten und was sie hinzugefügt haben. Proxmox VE bleibt eine Preview.

      0.3.5 Jede Edition

    • Proxmox VE: unvollständige Container-Sicherungen werden benannt

      Eine Container-Sicherung, die restic nicht vollständig lesen konnte, erscheint als „Mit Lücken erfolgreich“ („Letzte Sicherung unvollständig“ auf der Seite des Gasts) mit der Zahl der nicht lesbaren Elemente und zählt im Inventar als „Unvollständig“.

      0.3.5 Jede Edition

    • Übliche Datenordner in Rechner-Jobs und im Datei-Restore

      Bei Linux-Rechner-Jobs und im Datei-Restore nennt ein Hinweis die üblichen Datenordner (/opt, /srv, /var/lib, /home und weitere), die die Pfade des Jobs auslassen, mit einer Schaltfläche, um sie hinzuzufügen.

      0.3.5 Jede Edition

    • Proxmox VE: „Jetzt sichern“ und Restore nennen die nächste Meldung des Knotens

      „Jetzt sichern“ und Restore sagen, dass der Knoten die Aufgabe bei seiner nächsten Meldung (Check-in) startet; ein zweiter Klick sagt, dass schon eine Sicherung wartet. Die Seiten aktualisieren sich alle 5 Sekunden, solange ein Gast auf seinen Knoten wartet oder gesichert wird.

      0.3.5 Jede Edition

    • Lange erste Backups laufen nach einer Unterbrechung weiter

      Ein Backup, das durch sein Zeitlimit (23 Stunden) oder durch einen Neustart des Workers unterbrochen wird, nachdem es einen Checkpoint gespeichert hat, läuft weiter, ohne einen seiner Wiederholungsversuche zu verbrauchen, bis zu 21 Tage nach seinem ersten Start. Die Laufansicht zeigt eine solche Unterbrechung als Information, nicht als Fehler. Zuvor endete das erste Backup eines großen Postfachs, das mehrere Tage brauchte, nach fünf Unterbrechungen als fehlgeschlagen, und der nächste Lauf begann von vorn.

      0.3.5 Jede Edition

    • Microsoft 365: Eine Graph-Anfrage ohne Antwort wird wiederholt

      Eine Graph-Anfrage, die innerhalb von 5 Minuten keine Antwort bekommt, wird wiederholt, statt bis zum Zeitlimit des Jobs zu hängen. Anfragen und Drosselungswartezeiten enden mit dem Job.

      0.3.5 Jede Edition

    • Backup-Index als Elementversionen

      Ein Backup kopiert nicht mehr jedes Element eines Postfachs oder OneDrives in die Datenbank. Restow führt eine Zeile je Version eines Elements, sodass ein unverändertes Element bei späteren Backups nichts kostet. Bei einer Installation mit 14 Millionen Indexzeilen (25 GB) braucht der Index danach etwa 0,5 bis 1,5 GB. Der Worker wandelt bestehende Backups nach dem Update nacheinander um; diese Umwandlung wurde an erzeugten Verläufen getestet, noch nicht an einer Produktivdatenbank von 25 GB.

      0.3.5 Jede Edition

    • Anmeldung auf einer eigenen Datenbankrolle

      Die Anmeldung (Sitzungen, Passwörter, Passkeys, Zwei-Faktor-Geheimnisse) läuft auf einer dritten Datenbankrolle. Die Anwendungsrolle beschränkt sich auf Mandantendaten unter Row-Level-Security und darf nur Jobs zur Warteschlange hinzufügen. Eine Härtung; keine bekannte Ausnutzung.

      0.3.5 Jede Edition

    • Proxmox VE: Gäste direkt im Inventar schützen

      Unter Server & Clients, Inventar hat jede VM und jeder Container seinen Backup-Job als Auswahl (ein vorhandener Job, „Kein Backup-Job“ oder „Neuer Job …“) und „Jetzt sichern“. Gäste lassen sich einzeln ankreuzen, alle eines Knotens oder alle ohne Job mit einem Klick, und dann einem Job hinzufügen („Zu Job hinzufügen …“) oder gemeinsam sichern; „Neuer Job …“ öffnet den Job-Dialog und legt die Auswahl in den neuen Job. Die Schutzspalte des Inventars heißt jetzt „Schutz“. Proxmox VE bleibt eine Preview.

      0.3.6 Jede Edition

    • Hinweis „Neustart erforderlich“ mit „Jetzt neu starten“

      Braucht ein Dienst einen Neustart, zeigt Installation, Updates den Hinweis „Neustart erforderlich“ mit dem Grund, der Schaltfläche „Jetzt neu starten“ und dem Befehl zum Kopieren, im Verzeichnis der Installation; Provider-Administratoren sehen einen Hinweis über jeder Seite. „Jetzt neu starten“ läuft über den Updater, startet nur die API, den Worker oder den Scheduler neu, läuft nie, während ein Update angekündigt ist oder läuft, und fragt vorher nach einer Bestätigung. Die Schaltfläche bekommt der Inhaber des Provider-Teams, und sie braucht den Updater von 0.3.6; ein älterer Updater zeigt stattdessen den Befehl. Nichts startet ohne einen Klick neu. Noch zeichnet nichts eine Neustart-Anforderung auf; Hinweis und Schaltfläche sind für Updates da, die sie brauchen.

      0.3.6 Jede Edition

    • Der Installer aktualisiert eine alte docker-compose.yml

      Wenn Sie install.sh auf einer bestehenden Installation erneut ausführen, aktualisiert es docker-compose.yml auf das Release, das in der .env steht, geprüft gegen die signierte SHA256SUMS des Releases, und behält die bisherige Datei als docker-compose.yml.bak-<timestamp>. Die .env bleibt unverändert. Eigene Änderungen gehören in docker-compose.override.yml.

      0.3.6 Jede Edition

    • Backup-Index: Der Platz der alten Tabelle kommt ohne Neustart zurück

      Nachdem die Umwandlung des Backup-Index aus 0.3.5 abgeschlossen ist, gibt die API den Platz der alten Tabelle von selbst zurück, innerhalb von etwa 15 Minuten. Der API-Neustart, den 0.3.5 verlangte, ist nicht mehr nötig.

      0.3.6 Jede Edition

  2. Ausgeliefert

    0.2.2

    Microsoft-365-Anbindung

    • Eigene Graph-App je Quelle

      Neben der Zustimmungseinladung der gemeinsamen Backup-App lässt sich eine Quelle über eine App verbinden, die der Kunde von Hand im eigenen Tenant angelegt hat: Tenant-ID, Anwendungs-ID und ein Client-Geheimnis oder Zertifikat. Die Zugangsdaten werden im Geheimnisspeicher der Organisation versiegelt und nie wieder angezeigt. Getestet nur mit Unit-Tests und den CI-Suiten, nicht gegen einen echten Microsoft-365-Mandanten.

      Jede Edition

    • Der Tenant der Backup-App lässt sich ohne Zustimmungslink verbinden

      Für den Tenant, in dem die Backup-App liegt, bietet die Quellenseite eine direkte Verbindung (nur Provider-Inhaber): Ein funktionierendes App-Token für diesen Tenant dient als Nachweis, sodass der Zustimmungs-Umweg entfällt, den Entra für eine dort nicht installierte App ablehnt. Dafür braucht es die Verzeichnis-ID (Tenant-ID) der App unter Einstellungen, Microsoft 365.

      Jede Edition

    • Hetzner-Object-Storage-Preset mit Standortwahl

      Das Preset hat eine Standortauswahl (Falkenstein, Nürnberg, Helsinki), die Endpunkt und Region zusammen setzt. Buckets mit einem Punkt im Namen werden über den Pfad angesprochen, und die Object-Lock-Erkennung akzeptiert die Antworten S3-kompatibler Dienste wie Hetzner. Nicht gegen einen echten Hetzner-Bucket getestet.

      Jede Edition

    • Alpha-Kanal für Testbuilds

      Unter Installation, Updates wählt die Option für den Alpha-Kanal mit einem Klick eine Quelle unsignierter Testbuilds. Der Reiter warnt, solange sie gewählt ist und solange der Updater keine Signaturen prüft. Nur für Testinstallationen, nie für eine mit Produktivdaten.

      Jede Edition

  3. Ausgeliefert

    0.2.1

    Der Rest aus 0.2.0

    • Ein Rechner sichert, sobald er in einem Job ist

      Jeder Rechner ohne Backup-Job ist mit „Ohne Backup“ markiert, wird in einem Banner gezählt und bekommt „Job anlegen“ oder „Zu Job hinzufügen…“ angeboten. Ein neu angemeldeter Rechner wartet auf einen Job, statt eigenmächtig zu sichern. Server sichern standardmäßig ihre Anwendungsdaten (/opt, /usr/local, /var/lib).

      Jede Edition

    • Kontextmenüs auf Tabellenzeilen

      Rechtsklick oder die ⋯-Schaltfläche auf einer Tabellenzeile öffnet die Aktionen dieser Zeile: neuer Job aus der Auswahl, Job bearbeiten, jetzt ausführen, Verlauf öffnen, Dateien eines Rechners wiederherstellen.

      Jede Edition

    • Rechnertabelle mit "Zugeordnet zu"

      Eine Tabelle aller Rechner mit Hostname, der Person, der der Rechner zugewiesen ist, letzter Sicherung und Wiederherstellbarkeit. Ein Rechner lässt sich einer Person aus dem Verzeichnis zuweisen.

      Jede Edition

    • Datei-Restore aus der Rechnertabelle, eine Zeitleiste

      Der Datei-Restore beginnt mit der Rechnertabelle. Wiederherstellungspunkte von Rechnern und Postfächern liegen auf derselben Zeitleiste, mit Tagestrennern, Uhrzeiten und einem Sprung zu einem Datum.

      Jede Edition

    • Öffentliche Demo mit simulierten laufenden Jobs

      Die öffentliche Demo zeigt laufende Sicherungen mit Fortschritt, Durchsatz-Diagrammen und dem Detailpanel zum Lauf, simuliert auf synthetischen Daten.

      Jede Edition

    • Standardspeicher in der Weboberfläche

      Der Inhaber der Installation legt den Standardspeicher (einen lokalen Pfad oder einen S3-kompatiblen Bucket) unter Installation > Standardspeicher fest, geprüft durch einen Test vor dem Speichern. Mandanten darauf bleiben durch eigenes Präfix und eigenen Schlüssel getrennt.

      Jede Edition

    • Updater mit einem Befehl, der sich selbst aktualisiert

      Der optionale Updater startet mit einem Befehl und zieht sich nach einem signierten Update selbst auf das geprüfte Release nach. Eine Community-Installation wechselt unter Installation > Edition zum vollständigen Build, mit Datenbank-Dump, Health-Check und Rollback.

      Jede Edition

  4. Ausgeliefert

    0.2.0

    Ordnung und Einstieg

    • Installation, eigene Organisation und Mandanten-Einstellungen

      Jede Einstellung hat einen Ort und eine Ebene: die Installation (Server, Benachrichtigungs-Mail, Updates, Lizenz) und je Mandant eine Einstellungsseite (Verbindungen, Schutz, Jobs, Aufbewahrung, Repositories, Archiv, Agents, Benachrichtigungen, Integrationen, Mitglieder, Module), anstelle der Reiterleiste Einrichtung aus 0.1.0. Für Service Provider legt die Einrichtung die eigene Organisation als internen Mandanten an. Ein Modul auszuschalten pausiert seine Arbeit und löscht nie Daten.

      Jede Edition

    • Mandanten-Umschalter mit Suche im Menü

      Zwischen Mandanten wechseln Sie oben im Menü, und per Suche finden Sie einen nach Name oder Kundennummer.

      Service Provider

    • Farbschema Restow oder Neutral neben Hell und Dunkel

      Wählen Sie zwischen den Restow-Farben und einer neutralen Palette, zusätzlich zum hellen und dunklen Modus.

      Jede Edition

    • Tabellen in voller Breite mit fixierten Spalten

      Tabellen nutzen die volle Seitenbreite, und fixierte Spalten bleiben sichtbar, während Sie seitlich scrollen.

      Jede Edition

    • Geführter Installer mit Reverse-Proxy-Modus, standardmäßig verschlüsselt zu Restow

      Ein Installer, der Sie durch die Installation führt, mit einem Modus für den Betrieb hinter einem Reverse-Proxy. Die Verbindung zu Restow ist standardmäßig verschlüsselt.

      Jede Edition

    • Einrichtungsassistent beginnt mit der Sprachwahl

      Der Einrichtungsassistent beginnt jetzt mit der Wahl der Sprache.

      Jede Edition

    • Erste Schritte als Checkliste im Menü

      Ein Raketen-Eintrag unten links im Menü öffnet die Einrichtungs-Checkliste: funktionierendes Repository, verbundene Quelle, geschützte Objekte, aktive Zeitpläne, erste Sicherung und erste bestandene Restore-Prüfung, dazu die Benachrichtigungs-Mail, die sich als nicht nötig markieren lässt. Sobald die Einrichtung abgeschlossen ist, verschwindet der Eintrag.

      Jede Edition

    • Wiederherstellbarkeit verknüpft mit gefilterten Tabellen

      Jeder Zustand der Wiederherstellbarkeit (bestanden, fällig, nicht abgeschlossen und wiederholt, fehlgeschlagen, Sicherung zu alt, nie geprüft) filtert die Tabelle darunter.

      Jede Edition

    • Übersicht über alle Mandanten oder einen Mandanten

      Die Übersicht zeigt alle Mandanten auf einmal oder einen einzelnen Mandanten, ganz wie Sie wählen.

      Service Provider

    • Jobs als Vorlagen

      Ein Job legt fest, was gesichert wird, wann, in welches Repository, wie lange und wie oft eine Restore-Prüfung es nachweist, für viele Postfächer, OneDrives, IMAP-Konten oder Rechner zugleich, mit Abweichungen je Objekt oder Rechner. Es gibt Jobs für Mail und für Server und Clients; für Server und Clients wählen Sie die zu sichernden Ordner aus und schließen Dateitypen aus. Beim Update werden die heutigen Zeitpläne und Rechner-Einstellungen zu Jobs; nichts wird gelöscht.

      Jede Edition

    • Live-Aktualisierung ohne Neuladen, Detailpanel zum Lauf mit Durchsatz-Diagrammen

      Laufende Jobs und Tabellen aktualisieren sich von selbst, ohne dass Sie die Seite neu laden. Ein Lauf öffnet ein Detailpanel mit Diagrammen seines Durchsatzes.

      Jede Edition

    • Bandbreitenlimit mit Zeitfenster

      Begrenzen Sie die Bandbreite, die ein Backup nutzen darf, innerhalb eines Zeitfensters, das Sie festlegen.

      Jede Edition

    • Verlauf einschließlich Agent-Läufen

      Jeder Lauf, auch die Läufe der Agents auf Servern und Clients, mit Filtern nach Art (Backup, Restore, Restore-Prüfung, Export, Import, Wartung) und nach Job. Die Wiederholungen einer Restore-Prüfung erscheinen als eine Zeile.

      Jede Edition

  5. 2. Oktober 2026

    Öffentlicher Start

    • Quellcode auf GitHub

      Der Kern (Apache License 2.0) und das Release 0.1.0 sind auf GitHub veröffentlicht. Jedes spätere Release erscheint dort ebenfalls.

      Jede Edition

    • Lizenzen im Vorverkauf

      Business und Service Provider zum Vorverkaufspreis bis zum allgemeinen Release; jede Funktion unten wird geliefert, sobald sie erscheint.

      BusinessService Provider

  6. 0.1.0 Beta, erstes öffentliches Release

    Ausgeliefert

    • Microsoft-365-Backup

      Exchange-Online-Mail, Kalender und Kontakte sowie OneDrive, inkrementell per Graph-Delta-Abfragen.

      Jede Edition

    • IMAP-Backup

      Beliebige IMAP-Postfächer, mit Passwort: ein Login für die ganze Quelle, ein Passwort je Postfach oder ein Master-User. OAuth2-Anmeldung für IMAP ist noch nicht umgesetzt.

      Jede Edition

    • Nicht-destruktiver Restore

      Einzelnes Element, Ordner, Dateiversion oder ganzes Postfach bzw. OneDrive, ins Ursprungskonto oder ein anderes. Der Restore-Explorer zeigt unten eine schmale Zeitleiste der Wiederherstellungspunkte.

      Jede Edition

    • Wöchentliche Restore-Prüfung

      Eine Stichprobe aus jedem Backup wird zurückgelesen und Byte für Byte verglichen, angezeigt als Wiederherstellbarkeit.

      Jede Edition

    • Archiv

      Ein nur anhängbares Archiv mit SHA-256-Hash-Kette, Kettenprüfung, Suche und Export (EML in einer ZIP-Datei, MBOX), in jeder Edition. Die Suche umfasst Betreff, Adressen und den Nachrichtentext importierter Mail, keine Anhänge. Gefüllt wird es durch Mail-Import mit Archivierung; der Empfang von Journalberichten gehört zur GoBD-Schicht unten.

      Jede Edition

    • GoBD-Schicht für das Archiv

      Empfang von Exchange-Online-Journalberichten per SMTP (braucht ein eigenes TLS-Zertifikat), Aufbewahrungsrichtlinien mit durchgesetztem Löschlauf und Legal Hold je Mandant oder je Postfach. Für den GoBD-konformen Einsatz ausgelegt. Auf lokalen und NFS-Repositories erzwingt die Anwendung die Unveränderbarkeit; auf S3 mit Object Lock sind die Datensätze der Archivelemente gesperrt, und seit 0.4.0 kann ein Administrator auch die Packs mit dem Nachrichteninhalt sperren (siehe Unveränderbare Backups).

      BusinessService Provider

    • Mehrere Mandanten

      Viele Kundenmandanten in einer Installation, mit mandantenübergreifendem API-Schlüssel. Mehrere Mandanten zu verwalten gehört zu Service Provider.

      Service Provider

    • Delegierte Mandanten-Admins und Provider-Übersicht

      Jeder Mandant hat eigene Administratoren, die nur diesen Mandanten sehen und verwalten. Die Provider-Ansicht der Übersicht listet jeden Mandanten mit seinem Status und den daraus folgenden Alarmen.

      Service Provider

    • REST-API und Betriebsprotokoll

      REST-API mit OpenAPI-Doku, Schlüsseln und Scopes je Mandant; Jobverlauf und Fehler in jeder Edition.

      Jede Edition

    • Team mit Rollen

      Mehrere Administratoren, jeweils Inhaber, Administrator, Techniker oder Nur lesen, mit allen oder ausgewählten Mandanten. Inhaber laden ein und ändern Mitglieder; jede Änderung wird protokolliert. Business und Service Provider hatten das ab 0.1.0, jede Edition hat es seit 0.3.1 (siehe 0.3.1 bis 0.3.6).

      Jede Edition

    • Audit-Log-Ansicht

      Suche, Filter, Eintragsdetails und Prüfung der Hash-Kette des Audit-Logs. Die Aufzeichnung jedes Lesens und Wiederherstellens läuft in jeder Edition; der Export kam mit 0.3.1.

      BusinessService Provider

    • Zeitgesteuerte Berichte

      Eine tägliche, wöchentliche oder monatliche Zusammenfassung per E-Mail: Erfolgsquote, fehlgeschlagene Elemente, Anteil nachweislich wiederherstellbar, Fehlerursachen, Speicher und Wiederherstellungen.

      BusinessService Provider

    • Alarme

      Regeln, die eine E-Mail, einen Eintrag in der Glocke oder einen signierten Webhook senden, wenn eine Sicherung fehlschlägt, eine Restore-Prüfung nicht besteht oder Speicher beschädigt ist, mit Zustellprotokoll.

      Jede Edition

    • Server- und Client-Backup

      Ein Go-Agent für Linux und macOS auf Basis von restic 0.19.1, eingerichtet mit einem Befehl und einem Einmal-Token, installiert in einen Ordner, den nur root ändern kann. Signierte Agent-Releases, nur ausgehendes HTTPS, nur anhängend, ein Repository je Rechner, Restore in einen neuen Ordner, Restore-Tests, die in die Wiederherstellbarkeit einfließen. Hooks laufen nur, wo root auf dem Rechner sie erlaubt. Windows ist geplant.

      Jede Edition

    • Mail-Import und -Export

      EML, MSG, MBOX und MailStore-Exporte als Altpostfach importieren, das Sie durchsuchen, in Microsoft 365 oder IMAP wiederherstellen, herunterladen und optional archivieren können. Postfächer aus Backups, Importen und dem Archiv als EML in einer ZIP-Datei oder als MBOX exportieren.

      Jede Edition

    • Updates

      Eine Update-Prüfung, die aus ist, bis Sie sie einschalten, auf Wunsch mit eigener Release-Quelle, und ein optionaler Updater, der Wartung ankündigt, zuerst die Datenbank sichert und zurückrollt, wenn die neue Version nicht gesund startet. Das Rollback gilt nur, solange die Datenbankmigrationen noch nicht gelaufen sind; nach einer Migration hält der Updater an, behält den Dump und sagt, wie Sie ihn einspielen.

      Jede Edition

    • Fehlererklärungen

      Jeder fehlgeschlagene Job, jedes Element, jeder Abgleich und jede Prüfung sagt, was passiert ist, warum (88 stabile Ursachencodes) und was zu tun ist, mit Links und technischen Details für den Support.

      Jede Edition

    • Signierte, geprüfte Releases

      Jedes Release erscheint in zwei Builds mit vier Images: dem vollständigen Build (restow, restow-web) und dem Community-Build (restow-community, restow-web-community). Jedes Image wird für amd64 und arm64 gebaut, mit cosign signiert, liefert eine SBOM mit und besteht einen Release-Smoke-Lauf (Neuinstallation, Restores mit Hash-Vergleich, Endpoint-Backup, Mail-Import, Freigaben-Backup gegen Samba), bevor es veröffentlicht wird. Jedes Agent-Release signiert der Maintainer mit einem Ed25519-Schlüssel; Installer und Agent lehnen ein Release ohne gültige Signatur ab. Die automatisierte Microsoft-365-Prüfung der Release-Pipeline gegen einen echten Mandanten (Prüfung 4, ein Dev-Tenant) ist noch nicht aktiv und wurde in jedem bisherigen Release übersprungen; eine simulierte Graph-API ersetzt sie. In den Release-Prüfungen läuft der Agent-Installer nur in einem Linux-Container.

      Jede Edition

    • Setup-Token, Betreiberhinweis, zwei Builds

      Der Einrichtungsassistent fragt zuerst nach einem einmaligen Setup-Token, das nur lesen kann, wer Zugriff auf das Log des Servers hat, und dann nach der Bestätigung eines Betreiberhinweises. Der Kern (Apache License 2.0) und die Business- und Service-Provider-Module (ee/, unter den Restow-Lizenzbedingungen) liegen in einem Repository. Die vollständigen Images enthalten beides, die Module gesperrt, bis ein Lizenzschlüssel installiert ist; die Community-Images enthalten nur den Kern.

      Jede Edition

Was heute ausgeliefert ist, zeigen die Funktionen; Preise und was jede Edition freischaltet, die Preisseite; zum Archiv siehe GoBD und E-Mail-Archivierung.

Fragen zur Roadmap? Schreiben Sie uns →