Seite 1 von 1

Live Backup System - Evaluation für Neuentwicklung

Verfasst: 01.09.2023 21:56
von RSBasic
Hallo zusammen

Ich fange mit der Neuentwicklung noch nicht an, weil ich noch andere ToDo-Punkte in meinem Kanban-Board habe, aber ich möchte jetzt eure Ideen, Meinungen und Informationen sammeln.

Am 20.09.2015 begann ich mit der Entwicklung meines Projektes und am 08.11.2015 habe ich die erste Version meiner Anwendung veröffentlicht.
Anfangs hatte mein Programm nur eine Aufgabe: Sichern von Dateien in Echtzeit
Aber es wurden Funktionen später hinzugefügt:
  • Sichern auf externe Datenträger mit Erkennung, ob externes Laufwerk angeschlossen wurde
  • Sichern von FTP
  • Komprimieren in ZIP-Archiven
  • Sichern alter Dateiversionen
  • Viele Einstellungen
Der Quellcode ist historisch schlecht gewachsen. Aufgrund der Code-Struktur ist es nicht einfach möglich, für jede einzelne Sicherungsart separate Sicherungseinstellungen festzulegen. Ein Code-Refactoring wäre aufgrund der Projektgröße zu aufwendig.
Deshalb möchte ich das Projekt neu entwickeln, aber die Planung ist sehr wichtig.

Bitte schreibe hier:
  • Welche Funktionen aus alter Version brauchst du?
  • Welche neue Funktionen brauchst du?
  • Welche Funktionen aus alter Version sollen verbessert oder geändert werden?
Danke

Re: Live Backup System - Evaluation für Neuentwicklung

Verfasst: 03.09.2023 20:05
von Kurzer
Moin RSBasic,

also meine aktuelle Backup-Strategie (realisiert durch LiveBackup System und einem selbst erstellten RoboCopy Skript) sieht folgende Szenarien vor:

Robocopy-Skript:
- Sichern von Dateien auf ein externes Ziellaufwerk deren (A) Flag gesetzt ist.
Dabei wird die Verzeichnisstruktur auf dem Ziellaufwerk bzw. im Zielpfad 1:1 gespiegelt.
Es kann angegeben werden, ob das (A) Flag nach der Sicherung an den Quelldateien gelöscht werden soll oder nicht.
Fehlende Dateien werden von dem Skript in den Zielverzeichnissen gelöscht (also, wenn eine zuvor gesicherte Datei in der Quelle zwischenzeitlich gelöscht wurde).

- Selbe Aktion wie oben, nur dass die Dateien auf dem Ziellaufwerk bzw dem Zielpfad in ein ZIP-Archiv gepackt werden. Die Verzeichnisstruktur im Archiv ist dabei die gleiche wie auf dem Quelllaufwerk.
- Es kann angegeben werden, ob das (A) Flag nach der Sicherung an den Quelldateien gelöscht werden soll oder nicht.
- Die Benennung des ZIP-Archivs ist dabei variabel. Derzeit habe ich so eingestellt, dass pro Quelllaufwerk und pro Tag ein neues Archiv erzeugt wird: z.B. "C-2023-09-03.zip" und "D-2023-09-03.zip".
Das heißt, wenn ich das Skript mehrfach pro Tag anwerfe, dass dann neue Dateien dem Archiv zugefügt werden.
- In der Quelle zwischenzeitlich gelöschte Dateien werden im Archiv NICHT gelöscht. Hier wird immer nur zugefügt (falls man mal was versehentlich gelöscht hat, kann man es zumindest aus dem Archiv nochmal herausholen).
- Es kann angegeben werden, nach welcher Zeitspanne alte Archive auf dem Ziellaufwerk gelöscht werden. Da ich auch auf USB-Sticks sichere, vermeide ich somit ein Überlaufen des freien Speichers.


LiveBackup System:
- Hier lasse ich bestimmte Verzeichnisse in Echtzeit auf ein Netzlaufwerk sichern.
Da die Verbindung übers Internet erfolgt und dementsprechend langsam ist, bietet sich hier diese Echtzeitsicherung an. Würde ich das über das Robocopy-Skript machen (welches ich zumindest nach getaner Arbeit kurz vor dem Runterfahren des Laptops ausführe), dann würde das viel zu lange dauern.

Feature-Wünsche für deine Version 2:

- Es wäre nett, wenn die oben beschriebenen Funktionen verfügbar wären

- Ein Sicherungsauftrag sollte völlig unabhängig von anderen Sicherungsaufträgen konfigurierbar sein.

- Es sollten SD-Karten und USB-Sticks (Wechsellaufwerke) als Ziel ausgewählt werden können. Mittels einer Textdatei im Hauptverzeichnis sollte man das Wechsellaufwerk "benennen" können. LBS sollte dann bei einer Sicherung auf so ein Wechsellaufwerk die Laufwerksbuchstaben "D:" ... "Z:" scannen, um einen angeschlossenes Wechsellaufwerk anhand der "Namensdatei" zu identifizieren (bzw. den korrekten Laufwerksbuchstaben zu ermitteln).

- Ein Sicherungsauftrag sollte auch auf mehrere Ziellaufwerke bzw. Zielpfade sichern können.
Also z.B. Quelle "C:\Mein Order 1\*" -> auf "Wechsellaufwerk 1\Sicherungen\Meine Ordner\" und gleichzeitig auch auf "D:\Datensicherungen\Meine Ordner\"

Mehr fällt mir erstmal nicht ein :-)

Edit: Ach doch: Filterkriterien wie z.B. Dateigröße oder Wildcard bei Filenamen fallen mir noch ein. Z.B. nur sichern, wenn die Dateigröße > x und/oder kleiner y Bytes [KB, MB, GB, TB, EB]. Nur sichern, wenn Name = "*.pb*" oder <> "*.sys" oder auch = "*rechnung*2023*.doc"