sagasin
Goto Top

Batch Organisation von Backups

Anleitung zur Organisation von Backups via batch.
Batch aus Administrator.de Beitraegen erstellt.
Verwendeter Code hauptsaechlich von Biber.

Hallo liebe Forenuser,
dieser Beitrag ist eigentlich die Antwort auf eine Frage die sich mir letzte Woche stellte. Da ich keine zusammenhaengende Antwort finden konnte, moechte ich sie mir selbst beantworten. Die Batch Datei ist der eine, wesentlich geringere Teil, die ausfuehrliche Erklaerung drumherum der andere.
Das behandelte Thema ist ein Alltagsproblem eines jeden kleinen Administrators.
An dieser Stelle vielen Dank an Biber, der die meisten verwendeten Funktionen an verschiedenen Stellen gepostet hat. Danke fuer den super Job und deine unglaubliche Hilfsbereitschaft.
Zum Thema:
  • Ein Administrator erstellt mit einer beliebigen Loesung in regelmaessigen Abstaenden ein Backup. Daraus resultiert eine Dateiliste in einem Backupverzeichnis.
  • Aus Platzgruenden wird normalerweise ein inkrementelles Backup gewaehlt, d.h. die erwaehnte Liste besteht aus einem Komplettbackup plus darauf aufbauenden ergaenzenden Backups.
  • Sinnvoll ist es an dieser Stelle aus komplexitaetsgruenden Backupzyklen zu definieren, d.h. wann die Liste mit einem Komplettbackup neu begonnen wird. Dazu wird die Vorgaenger-Dateiliste in einen Ordner mit aussagekraftigen Namen, der den Zyklus ersichtlich macht, kopiert. Soll ein Backupprogramm im taegliche Task nun ein inkrementelles Backup erstellen, findet aber kein Komplettbackup als Basis vor, erstellt es normalerweise automatisch ein solches.
  • Nach einer gewissen Anzahl an Backupzyklen fuellt sich nicht nur das Backupverzeichnis mit Ordnern, sondern auch das physische Laufwerk bis an den Rand. Ein weiterer Organisationszyklus zum loeschen nicht mehr benoetiger Backups muss uebergeordnet werden, d.h. im Normalfall, dass man beginnt die Backupverzeichnisliste in der Laenge zu beschraenken. Wie ein Regal, dass mit Leitzordnerngefuellt ist. Stellt man links einen hinzu, faellt rechts einer runter, usw.
  • Ziel der Anleitung ist dieser Kernprozess eines Backups.

Im Konkreten:
Zum konkretisieren und endlich weg von der Theorie zu kommen, werde ich die oben genannten Begriffe mit realistischenen Beispielen belegen.
  • Backupverzeichnis = B:\
  • Backupdatei = MyBackup.tib (Acronis TI Echo Enterprise Server)
  • Backupzyklus = Eine Woche inkl. Wochenende
  • Zyklusordner = Datum des Sonntags = YYYY_MM_DD
  • Organisationszyklus = 3 Monate = 12 Wochen = max. 12 Ordner

Die batch Datei / Der Code:
Die Batchdatei liegt der einfachheithalber als versteckte Datei in B:\, so kann im Notfall auch eine weitere Person schnell die Zusammenhaenge herstellen und das System begreifen.

@echo off
set year=%date:~-4%
set month=%date:~-10,2%
set day=%date:~-7,2%
xcopy B:\ B:\%year%_%month%_%day% /i
del /Q /A-H B:\
for /f %%i in ('dir /ad /o-n /b 2???_??_?? ^|more +12') do rd /s /q "%%i"  

Erklaerung:
  1. Unterdrueckt die Ausgabe am Bildschirm
  2. Extrahiert das Jahr aus date und schreibt es in die Variable year
  3. Extrahiert den Monat aus date und schreibt es in die Variable month
  4. Extrahiert den Tag aus date und schreibt es in die Variable day
  5. Legt den einen Unterordner Jahr_Monat_Tag an und kopiert alle Dateien aus B:\ hinein
  6. Loescht die Dateien in B:\, da sie ja nun kopiert sind. Verschont aber versteckte Dateien, wie unsere .bat und Ordner
  7. Erstellt eine alphabetische Liste der Ordner, die in unserem Format benannt sind, bis auf die ersten 12, und loescht Diese

Schluss:
Fertig!
Anregungen & Korrekturen bitte posten, sodass ich den Beitrag dementsprechend aditieren kann.

Content-Key: 155843

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

Printed on: April 26, 2024 at 10:04 o'clock