Veeam Agent Backup Helper Powershell - geeignet für Backups auf externe Festplatten

oklop

Cadet 3rd Year
Registriert
Feb. 2012
Beiträge
62
Hallo,

da die Retention Policy vom Veeam Agent for Microsoft Windows bei mir in Verbindung mit Backups auf externe Festplatten nie richtig funktioniert hat, habe ich mir meine eigene in Powershell gebaut.

Wenn man die Konfiguration im Powershell-Skript so belässt, wird alle 3 Monate ein Vollbackup erstellt. Alles dazwischen wird inkrementell gesichert. Nach 3 erfolgreichen Vollbackups werden das älteste Vollbackup und die zugehörigen inkrementellen Backups gelöscht. So hat man immer 2 Vollbackups + die inkrementellen und kann 6 Monate zurückgehen. Mir persönlich reicht das so, aber man kann das im Skript anpassen.

Wenn ihr das Skript verwenden möchtet, müsset ihr im Skript den Pfad zu eurem Veeam-Installationsort und den Pfad des Backup-Ordners, den ihr bei der Erstellung des Veeam-Jobs angegeben habt, anpassen.
Ihr könnt das Skript dann entweder immer manuell starten sobald ihr eure externe Festplatte angeschlossen habt oder ihr erstellt im Aufgabenplaner eine Aufgabe mit dem Skript "Create-Task.bat". Das Backup startet dann immer automatisch, sobald ihr die Festplatte angeschlossen habt.

Bei der Erstellung des Veeam-Jobs ist außerdem Folgendes zu beachten:

Sicherstellen, dass "Job" im Namen enthalten ist
jobname.png

"Keep backups for" auf Maximum setzen (730)
keepbackupsfor.png


"Create active full backups periodically" nicht anhaken
createactivefull.png


Nichts unter Schedule anhaken
schedule.png


https://github.com/yeah-Buddyy/Veeam-Agent-Backup-Helper
 
  • Gefällt mir
Reaktionen: Corpus Delicti, mcdexter, ququ und 4 andere
Ich hab das Skript nur kurz überflogen, und mir sind zwei Dinge aufgefallen.

Die ErrorActionPreference passt so nicht. Du arbeitest mit try catch blocks, das bedeutet du übernimmst das Error Handling für Powershell. Deshalb müssen alle Anweisungen im try block vom Typ „terminating error“ sein. Das erreichst du mit „Stop“. Dann springt Powershell bei einem Fehler in den catch block und du entscheidest wie du mit dem Fehler dort umgehst. Du kannst das Skript einfach weiterlaufen lassen oder zb mit „throw“ beenden.

Der User muss im Skript direkt die Anpassungen machen, wie, wann, etc das Skript Backups macht.
Leichter wäre es, eine einfache Textdatei als config.ini mitzugeben, wo der User Anpassungen machen kann. Den Dateiinhalt kannst du dann einlesen und die Variablen damit setzen.
 
  • Gefällt mir
Reaktionen: oklop
Du hast natürlich Recht mit der ErrorActionPreference, das ist auch eher ein Überbleibsel aus älteren Versionen des Skripts, ich werde es entfernen. Und das mit der Konfigurationsdatei finde ich wirklich gut, das werde ich einbauen. Wenn jemandem noch etwas auffällt oder es generell Bugs gibt, sagt Bescheid.
 
Zurück
Oben