marinux
Goto Top

Übersichtlich Backups nach KWs speichern UPDATE

Aktuelle Version v1.1


hier präsentiere ich die Weiterentwicklung des hier beschriebenen Tools.

Ich habe es nun komplett in C# programmiert und es erfordert mindestens Microsoft .NET Framework 2.0.

Es ist nun flexibel anpassbar über eine XML-Konfigurationsdatei und kann mehrere Server verwalten, sowie Präfixe.

Die vollständige Beschreibung der Programmfunktion entnehmen Sie bitte dem Thread:
Übersichtlich Backups nach KWs speichern

Kurzzusammenfassung:
Sie speichern ihre Backupdateien z.B. in \\server\backup. Jetzt sollen die Backupdateien übersichtlich wöchentlich nach Kalenderwochen weggespeichert werden. Sie geben z.B. in Acronis TrueImage als ausführbare Datei nach dem Backup einfach die backup.exe an. Diese verschiebt die Dateien nach \\server\backup\1. In der nächsten Woche werden die Dateien, die unter \\server\backup liegen, in \\server\backup\2 verschoben. Als Parameter kann angegeben werden, wie viele KWs gespeichert werden sollen. Sollen 3 KWs gespeichert werden wird z.B. bei Kalenderwoche 4 der Ordner \\server\backup\1 gelöscht.

Visuelles Beispiel:

091338d6c6ac1129056155a01ba0eea2-692079ae927a5fab4658eeda04310074-11


back-to-topCreateXML.exe
bafa4ec62dc990bc9cc7a690c9586b94-createxml

Zum Anlegen der Konfigurationsdatei führen Sie bitte die Datei CreateXML.exe aus.

Das Feld Praefix ist optional und bewirkt, dass die Ordner im Format praefix_kwnummer gespeichert werden. Z.B. Präfix=01, KW=35 -> Ordnername: 01_35

Im Feld Pfadname geben Sie bitte den Pfad zum Ordner an, in dem die Backupdateien abgelegt werden. Dies ist als UNC oder lokaler Pfad möglich. Z.B. \\server\backupordner oder C:\backupordner. Wichtig sind Schreibrechte in diesem Ordner.

Anzahl KWs bestimmt die Anzahl der zurückliegenden Wochen, die gespeichert werden sollen.

Der Wochentag bestimmt, wann die Archivierung ausgeführt werden soll.


Sollten Sie mehrere Backupordner (Server) haben, können Sie über "New" einen weiteren Task anlegen.

Mit "Save" speichern Sie die backup.xml. Die Konfigurationsdatei muss den Namen "backup.xml" haben und im gleichen Ordner liegen, wie die backup.exe.


back-to-topbackup.exe
Nun empfiehlt es sich die backup.exe einmalig auszuführen. Diese validiert bei jedem Aufruf die Datei backup.xml. Hier können Sie recht schnell erkennen, ob die Ordnerangaben richtig sind oder sollten Sie die backup.xml manuell bearbeitet haben, ob sich Fehler eingeschlichen haben. Im Fehlerfall wird ein Error auf der Konsole ausgegeben.
Die backup.exe arbeitet Task für Task nacheinander ab. Sollte bei einem Task ein Fehler auftreten wird ein Error auf der Konsole ausgegeben und das Programm abgebrochen. Das könnte z.B. auch heißen, dass wenn Sie mehrere Tasks verwalten und im 2. Task ein Fehler ist, er den 1. Task abarbeitet und dann einen Fehler ausgibt. Alle weiteren Tasks werden nicht bearbeitet.

e21a73e6aafecea0393d6977f5aa2a29-backup

In der nächsten Version wird dies so nicht mehr sein. Dann wird eine LOG-Datei erstellt und wenn ein Task fehlerbehaftet ist, werden die anderen trotzdem abgearbeitet.


back-to-topBeispiel Programmablauf
Sie haben 3 Ordner (C:\1, C:\2 u. \\server\test) in denen Backupdateien von z.B. Acronis TrueImage gespeichert werden. Aus Speicherplatzgründen möchten Sie nur wenige zurückliegende Wochen in den lokalen Pfaden speichern (1 u. 3). auf dem Server ist mehr Platz und es können 13 Wochen gespeichert werden.
Die Ordner sollen lokal ein Präfix bekommen (01 u. 02). Das Verschieben in den jeweiligen KW-Ordner soll an unterschiedlichen Tagen erfolgen (Dienstag, Montag, Donnerstag).

Resultierende backup.xml

<backupxml>
  <backup task="0">  
    <data name="praefix">01</data>  
    <data name="path">C:\1</data>  
    <data name="number_of_weeks">1</data>  
    <data name="weekday">Dienstag</data>  
  </backup>
  <backup task="1">  
    <data name="praefix">02</data>  
    <data name="path">C:\2</data>  
    <data name="number_of_weeks">3</data>  
    <data name="weekday">Montag</data>  
  </backup>
  <backup task="2">  
    <data name="praefix">  
    </data>
    <data name="path">\\server\test</data>  
    <data name="number_of_weeks">13</data>  
    <data name="weekday">Donnerstag</data>  
  </backup>
</backupxml>

Jetzt ist es möglich in Windows unter "Geplante Tasks" oder "Aufgabenplanung" einen Task anzulegen, der täglich die backup.exe aufruft. Backup.exe überprüft welcher Tag aktuell ist und vergleicht mit dem Ausführungstag des jeweilgien Tasks in der backup.xml. Sollten es z.B Montag/KW45 sein und die backup.exe wird aufgerufen, werden alle Dateien in C:\2 nach C:\2\02_45 verschoben und alle Ordner in der Form 02_kwnummer außer 02_45, 02_44 u. 02_43 gelöscht.
Natürlich es es auch möglich die backup.exe in das Backupprogramm zu integrieren. Dazu einfach als ausführbare Datei nach Erstellen des Backups in die Backupprogramm-Taskplanung einpflegen.


back-to-topHinweis Präfixe
Wenn Sie Präfixe verwenden sollten Sie diese nach Möglichkeit nicht mehr ändern, da das Programm dann mit den Ordnern, die noch ein altes Präfix besitzen nichts mehr anfangen kann.
Beispiel:

Es existiert:
C:\2\02_35, C:\2\02_36, C:\2\02_37

Jetzt ändern Sie das Präfix von "02" auf "kw".
Im nächsten Durchgang legt die Backup.exe C:\2\kw_38 an, löscht aber nicht C:\2\02_35, C:\2\02_36, C:\2\02_37. Es werden immer nur Ordner berücksichtigt, die dem aktuellen Präfix entsprechen. So ist die Möglichkeit gegeben unter C:\2 auch Ordner anzulegen, gar nichts mit den Backups zu tun haben.


back-to-topToDo
Kein Abbruch der backup.exe bei Fehler sondern Speichern in einer LOG-Datei.
Öffnen einer vorhandenen backup.xml in CreateXML.exe.


back-to-topDownload
Archiv downloaden
Dateien: backup.exe v1.0, CreateXML.exe v1.0


Ich würde mich freuen über Beurteilungen, Tests/Fehlerberichte und Anregungen.

Gruß

Marinux

Content-Key: 124913

Url: https://administrator.de/contentid/124913

Printed on: April 20, 2024 at 02:04 o'clock