Hallo,
möchte an dieser Stelle meine Batchdatei veröffentlichen und um Eure Verbesserungsvorschläge und Kommentare bitten.
************************************************************************
@echo off
:: universelle Batch für VM-Robocopy-Backups unter VMware Server 2.x
:: Herunterfahren mit Option soft (VMTools müssen in der VM installiert sein)
:: Stand 2010-03-16
:: Definition der Variablen
:: Übergabe von nvmdir, nvm, nvmx und sichnr
:: Beispiel: vmbackup _PROD TEST test.vmx -1
:: Wenn nur einfache Sicherung, kann sichnr leer bleiben
:: !!! Groß-/Kleinschreibung beachten bei Datastore und VMX-Datei !!! => generell in Großbuchstaben
set USER=admin
set PASS=XXX
set VMLW=D:
set NVMDIR=%1
set NVM=%2
set NVMX=%3
set SICHNR=%4
set DATASTORE=[VM] %NVMDIR%
set copyLW=\\BACKUP\vm-backup
:: Sicherheitschecks
:: Ist der Backup-Server überhaupt erreichbar ?
ping BACKUP
if errorlevel=1 goto backupoff
:: VMX-Datei vorhanden ?
if not exist %VMLW%\VM\%NVMDIR%\%NVM%\%NVMX% goto errhost
:: VM gestartet ?
if not exist %VMLW%\VM\%NVMDIR%\%NVM%\*.vmem goto vmoff
:: und ACTION
:: ACHTUNG: sind in der VM keine VMTools installiert geht die Option "soft" nicht
vmrun -T server -h https://127.0.0.1:8333/sdk -u %USER% -p %PASS% stop "%DATASTORE%/%NVM%/%NVMX%" soft
::vmrun -T server -h https://127.0.0.1:8333/sdk -u %USER% -p %PASS% stop "%DATASTORE%/%NVM%/%NVMX%"
ping -n 60 localhost > nul
robocopy "%VMLW%\VM\%NVMDIR%\%NVM%" "%COPYLW%\VM2\%NVMDIR%\%NVM%%SICHNR%" /MIR /NP /ZB /R:5 /TEE /Log:"%COPYLW%\LOG\VM2_%NVM%%SICHNR%.txt"
if errorlevel 16 (echo !!! SCHWERER FEHLER !!! > elv.txt
blat elv.txt -to tsch@sagichnich.com -subject %NVM%
goto end)
if errorlevel 8 (echo !! Fehlerhafte Kopien !! > elv.txt
blat elv.txt -to tsch@sagichnich.com -subject %NVM%
goto end)
:: Für Testzwecke, Mail ob Sicherung OK
echo Sicherung OK > d:\elv.txt
blat d:\elv.txt -to tsch@sagichnich.com -subject "Sicherung %NVM% (VM 2.x) OK"
call vmrun -T server -u %USER% -p %PASS% -h https://127.0.0.1:8333/sdk start "%DATASTORE%/%NVM%/%NVMX%"
goto end
:vmoff
echo VM war ausgeschaltet > d:\elv.txt
blat d:\elv.txt -to tsch@sagichnich.com -subject "%NVM% war ausgeschaltet"
goto end
:backupoff
echo Backup-Medium nicht erreichbar > d:\elv.txt
blat d:\elv.txt -to tsch@sagichnich.com -subject "%NVM% Backup-LW nicht gefunden"
goto end
:errhost
echo VMX-Datei nicht gefunden > d:\elv.txt
blat d:\elv.txt -to tsch@sagichnich.com -subject "%NVM% VMX-Datei?"
:end
************************************************************************
Zum Einsatz kommen in der o.g. Batch-Datei die beiden Freeware-Tools ROBOCOPY und BLAT (verschicken von Mails).
Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!
Meine Batch für das Backup von VMs (VMware Server 2.x)
Ich finde es super das du deine Arbeit der Community zur Verfügung stellst.
Ich selber habe kein VMware Server, trotzdem ist mir Kleinigkeiten aufgefallen:
1. Programmaufruf
Mit welchen Paramtern muss die Batch aufgerufen werden (s. 2.)
2. Erläuterung Variablen
Was steht für was?
set VMLW=D:
set NVMDIR=%1
set NVM=%2
set NVMX=%3
set NNAGIOS=%4
set DOWNTIME=%5
set SICHNR=%6
3. BLAT muss vorher konfiguriert werden.
Schönes WE!
Ich selber habe kein VMware Server, trotzdem ist mir Kleinigkeiten aufgefallen:
1. Programmaufruf
Mit welchen Paramtern muss die Batch aufgerufen werden (s. 2.)
2. Erläuterung Variablen
Was steht für was?
set VMLW=D:
set NVMDIR=%1
set NVM=%2
set NVMX=%3
set NNAGIOS=%4
set DOWNTIME=%5
set SICHNR=%6
3. BLAT muss vorher konfiguriert werden.
Schönes WE!
Der Aufruf der Batch-Datei (vmbackup.bat) erfolgt, wie in den Remarks (s.o.) beschrieben.
Folgendes Beispiel soll den Aufruf veranschaulichen:
D:\VM\_PROD\TEST\test.vmx (hier liegt die Beispiel-VM)
(ich habe immer ein eigenes Verzeichnis _PROD für produktive VM's)
=> als Datastore ist VM in D:\VM konfiguriert
Aufruf: vmbackup _PROD TEST test.vmx -1
Die VM im Verzeichnis D:\VM\_PROD\TEST wird gesichert und anschließend wieder hochgefahren.
Folgendes Beispiel soll den Aufruf veranschaulichen:
D:\VM\_PROD\TEST\test.vmx (hier liegt die Beispiel-VM)
(ich habe immer ein eigenes Verzeichnis _PROD für produktive VM's)
=> als Datastore ist VM in D:\VM konfiguriert
Aufruf: vmbackup _PROD TEST test.vmx -1
Die VM im Verzeichnis D:\VM\_PROD\TEST wird gesichert und anschließend wieder hochgefahren.
unknown file suffix
Hallo TSCH,
super Script habe aber ein Problem bekomme gleich nach dem Ping Can`t open VM:
[standart] VMs /Server1 /Server1.vmx unknown file suffix.
Mein Storage hat den Namen standart die VM liegt in VMs\Server1.
Betriebssytem ist Windows 2008, der Aufruf erfolgt aus einer cmd wie folgt:
call vmbackup VMs Server1 Server1.vmx.
Liegt sicher nicht am Script aber vielleicht hat jemand eine Idee.
vielen Dank
Alphasix
super Script habe aber ein Problem bekomme gleich nach dem Ping Can`t open VM:
[standart] VMs /Server1 /Server1.vmx unknown file suffix.
Mein Storage hat den Namen standart die VM liegt in VMs\Server1.
Betriebssytem ist Windows 2008, der Aufruf erfolgt aus einer cmd wie folgt:
call vmbackup VMs Server1 Server1.vmx.
Liegt sicher nicht am Script aber vielleicht hat jemand eine Idee.
vielen Dank
Alphasix
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste