Live Backup System
Live Backup System
Hola,
es ist lange her, als ich eine neue Anwendung geschrieben und veröffentlicht habe.
Vor einiger Zeit hatte ich eine Idee, wie ich mein Backup-Verfahren verbessern kann und zwar mit einer Echtzeit-Sicherung. Quasi Soft-RAID 1.
Seit vielen Jahren sichere ich meine Dateien immer manuell. In der Regel schalte ich meine externe Festplatte einmal im Monat ein und kopiere meine Daten in einen separaten Ordner.
Das Problem ist aber, dass ich oft vergesse, meine Dateien manuell zu sichern und wenn ich daran denke, dann stelle ich immer wieder fest, dass meine letzte Sicherung einige Monate alt ist.
Selbst wenn ich regelmäßig einmal im Monat meine Dateien sichern würde, gibt es seit dem letzten Backup-Stand neue und veränderte Dateien, die erst bei der nächsten Sicherung kopiert werden.
Was ist, wenn irgendwann meine Festplatte kaputt geht, dann sind alle Dateien, die seit der letzten Sicherung neu hinzugefügt wurden, für immmer verloren. Wenn bzw. falls ich Glück habe, dann kann ich mit Hilfe einer Wiederherstellungssoftware meine Dateien retten, aber eher unwahrscheinlich.
Deshalb möchte ich gerne, dass meine Dateien automatisch bei jeder Änderung (ob erstellt, geändert, gelöscht, umbenannt, kopiert oder verschoben) gesichert werden. Es gibt zwar bereits Software-Lösungen, die die eigenen Dateien in Echtzeit sichern, aber meistens sind es Cloud-Programme wie z.B. Dropbox.
Da ich aber kein Freund von Cloud bin, habe ich meine eigene Software entwickelt, die genauso lokal funktioniert. Cloud nutze ich deshalb ungern, weil ich nicht von einem Online-Server abhängig sein möchte und aus Datenschutzgründen.
Und ich weiß, man kann in Windows in der Datenträgerverwaltung eine Spiegelfunktion für Soft-RAID 1 aktivieren, aber da gibt es einige Nachteile. U.a. ist es umständlich, wenn eine Festplatte davon kaputt gehen sollte. Unnötiger Zusatzaufwand.
Außerdem wollte ich sowieso schon immer meine eigene Backup-Anwendung programmieren.
Aber mein Programm kann nicht nur die geänderten Dateien in Echtzeit erkennen und automatisch sichern, sondern wenn man möchte, kann man auch externe Datenträger hinzufügen. Sobald die externe Festplatte angeschlossen wurde, wird automatisch eine vollständige Sicherung durchgeführt. Entweder wird der Zielordner auf dem externen Datenträger einfach nur aktualisiert, so dass die Quell- und Zielverzeichnisse auf dem gleichen Stand sind, oder man kann es so einstellen, dass immer bei jedem Anschließen ein separater Datumsordner angelegt wird, so dass man mehrere Sicherungen besitzt.
Zusätzlich biete ich auch eine Dateiversion-Sicherungsfunktion an. Das heißt, wenn eine Datei, die bereits gesichert wurde, später erneut verändert wird, kann die alte gesicherte Datei vorher in ein anderes Verzeichnis verschoben werden. Damit hat man mehrere Versionen einer Datei, die man wiederherstellen kann. Und natürlich werden alle Sicherungsvorgänge detailliert protokolliert.
Man wählt in der Benutzeroberfläche die Laufwerke oder Unterverzeichnisse aus, die entweder in Echtzeit oder extern gesichert werden sollen, und schon ist man fertig und mein Programm führt automatisch eine Sicherung durch. Ganz automatisiert, ohne dass man selber was machen muss.
Für mich ist diese Software sehr hilfreich. Ich habe stets eine 1:1 Kopie, habe dadurch eine hohe Datensicherheit und 0 Zusatzaufwand. Ab und zu schalte ich meine externe Festplatte ein und habe dann eine weitere Sicherung.
Meine Backup-Konfiguration würde so lauten: D:\ (Daten-HDD), C:\Users\Ray\Desktop\ -> E:\ (2. interne HDD), G:\ (externe HDD)
Wenn man eine Echtzeitsicherung haben möchte, dann ergibt es nur Sinn, wenn der Zieldatenträger eine separate Festplatte ist und keine Partition, die auf derselben Festplatte liegt. Sonst hat man keine Datensicherheit, wenn die Festplatte kaputt gehen sollte.
Diese Anwendung ist eine 64 Bit-Version und ist nur für Windows. Wie immer bei meinen Anwendungen. Falls jemand sowas unter Windows auch braucht, dann viel Spaß damit.
Wenn ihr Verbesserungsvorschläge oder Fragen habt, dann immer her damit.
Screenshot:
Download: https://www.rsbasic.de/downloads/downlo ... system.zip
32 Bit-Version: https://www.rsbasic.de/downloads/downlo ... em_x86.zip
PS: Diese Software nicht benutzen, um Windows-Systemdateien und andere Programmdateien zu sichern. Nur die eigenen Dateien können automatisch gesichert werden.
es ist lange her, als ich eine neue Anwendung geschrieben und veröffentlicht habe.
Vor einiger Zeit hatte ich eine Idee, wie ich mein Backup-Verfahren verbessern kann und zwar mit einer Echtzeit-Sicherung. Quasi Soft-RAID 1.
Seit vielen Jahren sichere ich meine Dateien immer manuell. In der Regel schalte ich meine externe Festplatte einmal im Monat ein und kopiere meine Daten in einen separaten Ordner.
Das Problem ist aber, dass ich oft vergesse, meine Dateien manuell zu sichern und wenn ich daran denke, dann stelle ich immer wieder fest, dass meine letzte Sicherung einige Monate alt ist.
Selbst wenn ich regelmäßig einmal im Monat meine Dateien sichern würde, gibt es seit dem letzten Backup-Stand neue und veränderte Dateien, die erst bei der nächsten Sicherung kopiert werden.
Was ist, wenn irgendwann meine Festplatte kaputt geht, dann sind alle Dateien, die seit der letzten Sicherung neu hinzugefügt wurden, für immmer verloren. Wenn bzw. falls ich Glück habe, dann kann ich mit Hilfe einer Wiederherstellungssoftware meine Dateien retten, aber eher unwahrscheinlich.
Deshalb möchte ich gerne, dass meine Dateien automatisch bei jeder Änderung (ob erstellt, geändert, gelöscht, umbenannt, kopiert oder verschoben) gesichert werden. Es gibt zwar bereits Software-Lösungen, die die eigenen Dateien in Echtzeit sichern, aber meistens sind es Cloud-Programme wie z.B. Dropbox.
Da ich aber kein Freund von Cloud bin, habe ich meine eigene Software entwickelt, die genauso lokal funktioniert. Cloud nutze ich deshalb ungern, weil ich nicht von einem Online-Server abhängig sein möchte und aus Datenschutzgründen.
Und ich weiß, man kann in Windows in der Datenträgerverwaltung eine Spiegelfunktion für Soft-RAID 1 aktivieren, aber da gibt es einige Nachteile. U.a. ist es umständlich, wenn eine Festplatte davon kaputt gehen sollte. Unnötiger Zusatzaufwand.
Außerdem wollte ich sowieso schon immer meine eigene Backup-Anwendung programmieren.
Aber mein Programm kann nicht nur die geänderten Dateien in Echtzeit erkennen und automatisch sichern, sondern wenn man möchte, kann man auch externe Datenträger hinzufügen. Sobald die externe Festplatte angeschlossen wurde, wird automatisch eine vollständige Sicherung durchgeführt. Entweder wird der Zielordner auf dem externen Datenträger einfach nur aktualisiert, so dass die Quell- und Zielverzeichnisse auf dem gleichen Stand sind, oder man kann es so einstellen, dass immer bei jedem Anschließen ein separater Datumsordner angelegt wird, so dass man mehrere Sicherungen besitzt.
Zusätzlich biete ich auch eine Dateiversion-Sicherungsfunktion an. Das heißt, wenn eine Datei, die bereits gesichert wurde, später erneut verändert wird, kann die alte gesicherte Datei vorher in ein anderes Verzeichnis verschoben werden. Damit hat man mehrere Versionen einer Datei, die man wiederherstellen kann. Und natürlich werden alle Sicherungsvorgänge detailliert protokolliert.
Man wählt in der Benutzeroberfläche die Laufwerke oder Unterverzeichnisse aus, die entweder in Echtzeit oder extern gesichert werden sollen, und schon ist man fertig und mein Programm führt automatisch eine Sicherung durch. Ganz automatisiert, ohne dass man selber was machen muss.
Für mich ist diese Software sehr hilfreich. Ich habe stets eine 1:1 Kopie, habe dadurch eine hohe Datensicherheit und 0 Zusatzaufwand. Ab und zu schalte ich meine externe Festplatte ein und habe dann eine weitere Sicherung.
Meine Backup-Konfiguration würde so lauten: D:\ (Daten-HDD), C:\Users\Ray\Desktop\ -> E:\ (2. interne HDD), G:\ (externe HDD)
Wenn man eine Echtzeitsicherung haben möchte, dann ergibt es nur Sinn, wenn der Zieldatenträger eine separate Festplatte ist und keine Partition, die auf derselben Festplatte liegt. Sonst hat man keine Datensicherheit, wenn die Festplatte kaputt gehen sollte.
Diese Anwendung ist eine 64 Bit-Version und ist nur für Windows. Wie immer bei meinen Anwendungen. Falls jemand sowas unter Windows auch braucht, dann viel Spaß damit.
Wenn ihr Verbesserungsvorschläge oder Fragen habt, dann immer her damit.
Screenshot:
Download: https://www.rsbasic.de/downloads/downlo ... system.zip
32 Bit-Version: https://www.rsbasic.de/downloads/downlo ... em_x86.zip
PS: Diese Software nicht benutzen, um Windows-Systemdateien und andere Programmdateien zu sichern. Nur die eigenen Dateien können automatisch gesichert werden.
Re: Live Backup System
Als hättest du einen Sechsten Sinn
Ich startete, danach versuchte ich an den "USER\AppData\Roaming\" Ordner ranzukommen, aber der wird mir partout nicht
angezeigt (selbst eingeben wollte auch nicht funktionieren).
Ich würde von dort gern meinen Thunderbird Ordner so regelmässig sichern (also das komplette Profil)....
Edit : Also ich meinte als Verbesserungsvorschlag, Ordner selbst eingeben lassen, oder ALLE Ordner anzeigen lassen (egal ob es versteckte oder Systemdateien sind)
Ich startete, danach versuchte ich an den "USER\AppData\Roaming\" Ordner ranzukommen, aber der wird mir partout nicht
angezeigt (selbst eingeben wollte auch nicht funktionieren).
Ich würde von dort gern meinen Thunderbird Ordner so regelmässig sichern (also das komplette Profil)....
Edit : Also ich meinte als Verbesserungsvorschlag, Ordner selbst eingeben lassen, oder ALLE Ordner anzeigen lassen (egal ob es versteckte oder Systemdateien sind)
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: Live Backup System
Ich verwende zum Auswählen eines Verzeichnisses den PathRequester, der leider die versteckten Ordner nicht anzeigt. Auch mit der WinAPI-Funktion "SHBrowseForFolder()" gibt es leider keine Möglichkeit, anzugeben, dass versteckte Verzeichnisse angezeigt werden.
Ich müsste da ein eigenes PathRequester-Fenster bauen, damit man auch versteckte Ordner auswählen kann.
Alternativ wäre auch, wenn du bei dir in den Explorer-Ordneroptionen das Anzeigen von versteckten Dateien aktivierst, dann werden diese in Dialogen wie PathRequester() ebenfalls angezeigt.
Ich müsste da ein eigenes PathRequester-Fenster bauen, damit man auch versteckte Ordner auswählen kann.
Alternativ wäre auch, wenn du bei dir in den Explorer-Ordneroptionen das Anzeigen von versteckten Dateien aktivierst, dann werden diese in Dialogen wie PathRequester() ebenfalls angezeigt.
Re: Live Backup System
Hallo RSBasic,
coole sache
Ich mache zwar mt Acronis ein Tägliches Backup der Systempartition habe aber trotzdem Dein Tool mal gestartet.
Super.
Läuft bis jetzt ganz unauffällig und Stabil.
Werde es auf jedenfall die nächsten Wochen "mitlaufen" lassen und es kann gut sein das es einen Permanenten Platz bei mir findet.
Sollten Probleme auftauchen melde ich mich.
Danke.
coole sache
Ich mache zwar mt Acronis ein Tägliches Backup der Systempartition habe aber trotzdem Dein Tool mal gestartet.
Super.
Läuft bis jetzt ganz unauffällig und Stabil.
Werde es auf jedenfall die nächsten Wochen "mitlaufen" lassen und es kann gut sein das es einen Permanenten Platz bei mir findet.
Sollten Probleme auftauchen melde ich mich.
Danke.
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Re: Live Backup System
Wird dann ein verstecktes Verzeichnis kopiert, selbst wenn ich nach Konfiguration des LiveBackups, die Option wieder einschalte ?RSBasic hat geschrieben:Alternativ wäre auch, wenn du bei dir in den Explorer-Ordneroptionen das Anzeigen von versteckten Dateien aktivierst, dann werden diese in Dialogen wie PathRequester() ebenfalls angezeigt.
(Es ist halt blöd, auf einem aufgeräumten Desktop, diverse "Desktop.ini" Dateien rumliegen zu haben.... )
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: Live Backup System
Mal ein paar Fragen:
Wird unter Windows der "Volume Shadow Copy Service" genutzt? Der friert für das Dateisystem quasi für das Programm ein. Änderungen nach den Zeitpunkt nimmt es nicht mehr war - windows behält solange eine alte Kopie für das Programm bei. Vorteil ist hier, das sämtliche Dateien nicht mehr schreibgeschützt sind und man 100% alles sichern kann. Ich hab das nie zum laufen gebracht.
Beachtest du Verzeichnislinks? Das Verzeichnis "C:\ProgramData" verhält sich wie ein Ordner, ist aber tatsächlich ein Link auf "C:\Users\<aktueller Benutzer>\AppData\Local". Das gemeine ist, das man mit sowas eine Schleife bauen kann und wenn man das nicht beachtet man eine Endlosschleife hat.
Das Problem mit den Systemordnern lösen andere so, das sie ein SaveFileRequester öffnen und als defaultname ein "ThisFolder". Dann kann jeder auch versteckte Ordner eingeben und irgendwas drin auswählen oder halt einen dummynamen eingeben.
Wird unter Windows der "Volume Shadow Copy Service" genutzt? Der friert für das Dateisystem quasi für das Programm ein. Änderungen nach den Zeitpunkt nimmt es nicht mehr war - windows behält solange eine alte Kopie für das Programm bei. Vorteil ist hier, das sämtliche Dateien nicht mehr schreibgeschützt sind und man 100% alles sichern kann. Ich hab das nie zum laufen gebracht.
Beachtest du Verzeichnislinks? Das Verzeichnis "C:\ProgramData" verhält sich wie ein Ordner, ist aber tatsächlich ein Link auf "C:\Users\<aktueller Benutzer>\AppData\Local". Das gemeine ist, das man mit sowas eine Schleife bauen kann und wenn man das nicht beachtet man eine Endlosschleife hat.
Das Problem mit den Systemordnern lösen andere so, das sie ein SaveFileRequester öffnen und als defaultname ein "ThisFolder". Dann kann jeder auch versteckte Ordner eingeben und irgendwas drin auswählen oder halt einen dummynamen eingeben.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Re: Live Backup System
Nach dem Hinzufügen kannst die Einstellung wieder aktivieren. Die Anwendung kennt ja dann den Pfad und sichert die Dateien und Verzeichnisse.Bisonte hat geschrieben:Wird dann ein verstecktes Verzeichnis kopiert, selbst wenn ich nach Konfiguration des LiveBackups, die Option wieder einschalte ?RSBasic hat geschrieben:Alternativ wäre auch, wenn du bei dir in den Explorer-Ordneroptionen das Anzeigen von versteckten Dateien aktivierst, dann werden diese in Dialogen wie PathRequester() ebenfalls angezeigt.
@Fabio & @GPI
Hm, für das Sichern der gesamten Systemplatte ist das Programm eigentlich nicht vorgesehen, sondern nur für eigene Dateien. In meinem Fall "D:\" und Desktop.
Das Problem ist, dass auf C:\ viele Dateien gibt, die von Windows oder Prozessen gesperrt sind. Entweder sind sie geöffnet mit Lesesperre oder man hat gar keinen Zugriff, weil in den Datei-/Ordnereigenschaften unter Sicherheit die Rechte für den aktuellen Benutzer fehlen.
Ich werde das mal selber testen, indem ich bei mir C:\ hinzufüge und schaue, ob es überhaupt funktioniert.
@GPI
Den VSS von Windows nutze ich nicht, sondern ich verwende zum Erkennen von Dateisystemänderungen die WinAPI-Funktion "ReadDirectoryChangesW_()".
Bezüglich der Verzeichnislinks: Guter Hinweis, das werde ich ebenfalls prüfen.
Re: Live Backup System
Interessante Idee!
Ich habe allerdings das gleiche Problem wie Bisonte (Eingabe des Pfades zum Thunderbird-Profil).
Alternativ zum Vorschlag von GPI kann man z.B. auch 1 StringGadget + 1 ButtonGadget benutzen:
In das StringGadget kann ich dann reinschreiben was ich will (muss natürlich vor Verwendung vom Programm geprüft werden) oder z.B. den Pfad vom Total Commander über die Zwischenablage dort hineinkopieren. Wenn man auf den Button klickt, dann erscheint der PathRequester -- nur als zusätzliche Option zum bequemen Ausfüllen des StringGadgets für Faule . Aber dass die Auswahl der möglichen Pfade durch den PathRequester eingeschränkt wird, das ist kontraproduktiv.
Ich habe allerdings das gleiche Problem wie Bisonte (Eingabe des Pfades zum Thunderbird-Profil).
Dass man irgendwelche Systemeinstellungen ändern soll, finde ich nicht gut. Das Programm sollte schon selbst die nötigen Möglichkeiten anbieten.RSBasic hat geschrieben:Ich verwende zum Auswählen eines Verzeichnisses den PathRequester, der leider die versteckten Ordner nicht anzeigt. Auch mit der WinAPI-Funktion "SHBrowseForFolder()" gibt es leider keine Möglichkeit, anzugeben, dass versteckte Verzeichnisse angezeigt werden.
Ich müsste da ein eigenes PathRequester-Fenster bauen, damit man auch versteckte Ordner auswählen kann.
Alternativ wäre auch, wenn du bei dir in den Explorer-Ordneroptionen das Anzeigen von versteckten Dateien aktivierst, dann werden diese in Dialogen wie PathRequester() ebenfalls angezeigt.
Alternativ zum Vorschlag von GPI kann man z.B. auch 1 StringGadget + 1 ButtonGadget benutzen:
In das StringGadget kann ich dann reinschreiben was ich will (muss natürlich vor Verwendung vom Programm geprüft werden) oder z.B. den Pfad vom Total Commander über die Zwischenablage dort hineinkopieren. Wenn man auf den Button klickt, dann erscheint der PathRequester -- nur als zusätzliche Option zum bequemen Ausfüllen des StringGadgets für Faule . Aber dass die Auswahl der möglichen Pfade durch den PathRequester eingeschränkt wird, das ist kontraproduktiv.
Re: Live Backup System
Genau, den Vorschlag habe ich gestern bereits in meiner ToDo-Liste hinzugefügt, dass ich das auf jeden Fall anpassen muss, damit man jedes beliebige Verzeichnis auswählen kann.
Re: Live Backup System
Live Backup System 1.0.1 wurde veröffentlicht
Changelog:
Changelog:
- Verbesserte Dateiänderung-Erkennung
- Verbessertes "Ordner auswählen"-Fenster, um auch versteckte Verzeichnisse auswählen zu können