Die zeitliche Abstimmung zwischen Veeam Backup und Bandsicherung ist wichtig, damit nicht die Bandsicherung startet, während die Veeam Sicherung noch im Gange ist. Eine Möglichkeit besteht darin, ein möglichst großes Zeitfenster zwischen beiden Vorgängen einzubauen. Oft ist aber diese Zeit nicht vorhanden. Alternativ dazu kann man den BackupExec Job unmittelbar aus dem Veeam Auftrag heraus starten. Hier hat sich seit Version 2012 einiges geändert. Daher schildere ich beide Vorgehensweisen für BE 2010 und BE 2012.
Backup-Exec 2010
Hilfreich ist hier das CLI Tool bemcmd.exe. Bei einer Standardinstallation befindet es ich im Verzeichnis:
“c:\Program Files\Symantec\Backup Exec\bemcmd.exe”
Der Aufruf des BE Sicherungsjobs erfolgt mit der Kommandosequenz
"c:\Program Files\Symantec\Backup Exec\bemcmd.exe" -o1 -j<JobName>
Hierbei ist JobName der Name des BE Sicherungsjobs (ohne <>). Ihm voran wird ein kleines J ohne Leerzeichen gestellt. Der Parameter -o1 (O, nicht Null). Eine ausführliche Zusammenfassung der Befehlsparameter wurde von Arne Fokkema (ICT-Freak NL) unter diesem Link bereit gestellt.
Der BEMCMD Befehl wird wie oben dargestellt in den Eigenschaften des Veeam Jobs eingetragen.
Backup-Exec 2012
Symantec hat seine aktuelle Version von Backup Exec ordentlich umgepflügt und einige Neuerungen eingeführt. Neben optischen Änderungen fällt auf, daß das CLI Tool bemcmd.exe nicht mehr existiert. Statt dessen gibt es ein Powershell Plugin BEMCLI. Man kann die Shell entweder direkt aufrufen mit:
c:\Program Files\Symantec\Backup Exec\CLILauncher.exe
..oder man startet sie indirekt über Powershell. Dann muß allerdings das BEMCLI Modul eingebunden werden. Das geschieht in der Powershell mit dem Import-Module Befehl.
Import-Module bemcli
Danach lassen sich BEMCLI Befehle in Powershell ausführen. Eine Ausführliche Dokumentation der BEMCLI Befehle gibt es bei Symantec.
Befehl aus Veeam Auftrag starten
Job bearbeiten und im Abschnitt Storage (Veeam 6) auf Advanced klicken.
Das vollständige Kommando ist unten aufgeführt, wobei “<JobName>” ersetzt wird durch den Namen des Sicherungsauftrages. Z.B. “myBEJob”.
Achtung! Der Jobname in der GUI kann vom internen Jobnamen abweichen, wenn diese Jobs von einer früheren Version von BackupExec importiert wurden. Dann wird dem Namen intern das Suffix -Backup hinzugefügt. Aus dem Namen in der GUI “MyDailyJob” wird intern “MyDailyJob-Backup”. Der reale Name des Jobs lässt sich an der Powershell abfragen.
PS> import-module BEMcli
PS> Get-bejob
Der dort angezeigte Jobname wird im Befehl unten als “myBEJob” verwendet.
powershell.exe -command "&{import-module bemcli; get-bejob -Name "myBEJob" | start-bejob -confirm:$false}"
Die Poweshell Parameter sind im Microsoft TechNet dokumentiert. Innerhalb der geschweiften Klammern {} kann eine Serie von Befehlen stehen. Sie müssen lediglich durch ein Semikolon getrennt werden.
Der Parameter -confirm:$false hinter dem start-bejob Befehl ist unbedingt notwendig, da ansonsten eine Benutzereingabe zur Bestätigung des start-bejob Befehls verlangt wird.