Frage die sich stellt, könnte ich beim kopiern nur noch die Snapshot der produktiven VM kopieren? Heisst, ich kopiere einmal am Wochenende die komplette VM und die Woche über nur die aktuellen Snapshots

Code: Alles auswählen
:: Lucia VM-Ware Backup Batch
:: ASP: Baumann
:: ------------------
::
::
:: Suspenden der VM
"C:\Programme\VMware\VMware Server\vmware-cmd.bat" "F:\Virtual Machines\LuciaVM01\Windows 2000 Professional.vmx" suspend
:: BAckup der VM Dateien in eine CAB File
"F:\Virtual Machines\_backups_\cabarc.exe" n "F:\Virtual Machines\_backups_\VM10.cab" "F:\Virtual Machines\LuciaVM10\*"
:: Starten der VM nach Backup
"C:\Programme\VMware\VMware Server\vmware-cmd.bat" "F:\Virtual Machines\LuciaVM01\Windows 2000 Professional.vmx" start
Code: Alles auswählen
:: Lucia VM-Ware Backup Batch
:: ASP: Baumann
:: ------------------
::Echo aus und CLS
@echo off
cls
::Variablen Festlegen
SET VMCMDPFAD=C:\Programme\VMware\VMware Server\vmware-cmd.bat
SET VMSTOREPFAD=F:\Virtual Machines
SET VMBACKUPPFAD=F:\Virtual Machines\_backups_
SET BACKUPTOOL=F:\Virtual Machines\_backups_\7za.exe
:: SET VMXFILE=Windows 2000 Professional.vmx
SET VMXFILE=%2
::
:: Abfrage ob Hilfe
:: ----------------
IF "%1"=="" goto HELP
IF "%1"=="/?" goto HELP
IF "%1"=="?" goto HELP
IF "%1"=="help" goto HELP
IF "%1"=="/help" goto HELP
IF "%1"=="h" goto HELP
IF "%1"=="/h" goto HELP
:: Eigentliches Backupscript
:: -------------------------
::Suspend der VM
echo suspend:
call "%VMCMDPFAD%" "%VMSTOREPFAD%\%1\%VMXFILE%" suspend
echo.
echo rename:
:: rename des alten BAckup in old, dabei überschreiben des vorherigen alten Backups
mv "%VMBACKUPPFAD%\%1.zip" "%VMBACKUPPFAD%\OLD_%1.zip"
echo.
echo backup
:: BAckup der VM Dateien in eine CAB File
"%BACKUPTOOL%" a -tzip -mmt=on -y "%VMBACKUPPFAD%\%1.zip" "%VMSTOREPFAD%\%1\*"
echo.
echo start der vm
:: Starten der VM nach Backup
call "%VMCMDPFAD%" "%VMSTOREPFAD%\%1\%VMXFILE%" start
echo.
goto END
:HELP
@ECHO OFF
ECHO ###########################################################################
ECHO # #
ECHO # backupVMs -VM- -VMXFILE- #
ECHO # #
ECHO # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
ECHO # #
ECHO # -VM- Name der VM ohne Leerzeichen und Pfad z.B. LuciaVM01 #
ECHO # #
ECHO # #
ECHO # #
ECHO # -VMXFILE- Name der VMX Datei ohne Leerzeichen und Pfad z.B. LuciaVM01 #
ECHO # #
ECHO # #
ECHO # -- andere Pfade und Variablen siehe Sourcecode -- #
ECHO # #
ECHO # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
ECHO # #
ECHO # typischer Aufruf: #
ECHO # #
ECHO # backupVMs LuciaVM01 Windows2000.vmx #
ECHO # #
ECHO # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
ECHO # #
ECHO # Coded by Baumann dez_2006 #
ECHO # #
ECHO ###########################################################################
goto END
:END
:: This is the end - my only friend - the end *sing*
:: Mensch, das ganze Code hacken macht einen echt wuschig B~7
Code: Alles auswählen
backupVMs testvm test vm.vmx
Code: Alles auswählen
backupVMs testvm "test vm.vmx"
Code: Alles auswählen
:: RUft das BAckup Script mit den richtigen bergabewerten der VMs auf
::
::
:: hier wird angegeben welche VMs gebackupt werden
::
::
call backupVMs.bat LuciaVM01 LuciaVM01.vmx
call backupVMs.bat LuciaVM02 LuciaVM02.vmx
call backupVMs.bat LuciaVM03 LuciaVM03.vmx
call backupVMs.bat LuciaVM04 LuciaVM04.vmx
call backupVMs.bat LuciaVM05 LuciaVM05.vmx
Code: Alles auswählen
:: Lucia VM-Ware Backup Batch
:: ASP: Baumann
:: ------------------
::Echo aus und CLS
::----------------
@echo off
cls
::Variablen Festlegen
::-------------------
SET VMCMDPFAD=C:\Programme\VMware\VMware Server\vmware-cmd.bat
SET VMSTOREPFAD=F:\Virtual Machines
SET VMBACKUPPFAD=F:\Virtual Machines\_backups_
SET BACKUPTOOL=F:\Virtual Machines\_backups_\7za.exe
:: SET VMXFILE=Windows 2000 Professional.vmx
SET VMXFILE=%2
:: Abfrage ob Hilfe
:: ----------------
IF "%1"=="" goto HELP
IF "%1"=="/?" goto HELP
IF "%1"=="?" goto HELP
IF "%1"=="help" goto HELP
IF "%1"=="/help" goto HELP
IF "%1"=="h" goto HELP
IF "%1"=="/h" goto HELP
::Abfrage ob VM luft oder nicht
::------------------------------
:: wenn nicht nur backup, wenn ja suspend-backup-continue
::
:: errorlevel 1 == VM steht (pause oder stop)
:: errorlevel 0 == VM luft (also muss noch pausiert werden vorm backup)
call "%VMCMDPFAD%" "%VMSTOREPFAD%\%1\%VMXFILE%" getstate | FIND "on" > NUL
if errorlevel=1 goto vmstands
goto vmruns
:vmruns
:: Backup bei laufender Maschine
:: -------------------------
::Suspend der VM
echo suspend:
call "%VMCMDPFAD%" "%VMSTOREPFAD%\%1\%VMXFILE%" suspend
echo.
echo rename:
:: rename des alten BAckup in old, dabei berschreiben des vorherigen alten Backups
move "%VMBACKUPPFAD%\%1.zip" "%VMBACKUPPFAD%\OLD_%1.zip"
echo.
echo backup
:: BAckup der VM Dateien in eine CAB File
"%BACKUPTOOL%" a -tzip -mmt=on -y "%VMBACKUPPFAD%\%1.zip" "%VMSTOREPFAD%\%1\*"
echo.
echo start der vm
:: Starten der VM nach Backup
call "%VMCMDPFAD%" "%VMSTOREPFAD%\%1\%VMXFILE%" start
echo.
goto END
:vmstands
:: Backup bei stehender Maschine
:: -------------------------
echo rename:
:: rename des alten BAckup in old, dabei berschreiben des vorherigen alten Backups
move "%VMBACKUPPFAD%\%1.zip" "%VMBACKUPPFAD%\OLD_%1.zip"
echo.
echo backup
:: BAckup der VM Dateien in eine CAB File
"%BACKUPTOOL%" a -tzip -mmt=on -y "%VMBACKUPPFAD%\%1.zip" "%VMSTOREPFAD%\%1\*"
echo.
goto END
:HELP
ECHO ###########################################################################
ECHO # #
ECHO # backupVMs -VM- -VMXFILE- #
ECHO # #
ECHO # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
ECHO # #
ECHO # -VM- Name der VM ohne Leerzeichen und Pfad z.B. LuciaVM01 #
ECHO # #
ECHO # #
ECHO # #
ECHO # -VMXFILE- Name der VMX Datei ohne Leerzeichen und Pfad z.B. LuciaVM01 #
ECHO # #
ECHO # #
ECHO # -- andere Pfade und Variablen siehe Sourcecode -- #
ECHO # #
ECHO # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
ECHO # #
ECHO # typischer Aufruf: #
ECHO # #
ECHO # backupVMs LuciaVM01 Windows2000.vmx #
ECHO # #
ECHO # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
ECHO # #
ECHO # Coded by Baumann dez_2006 #
ECHO # #
ECHO ###########################################################################
goto END
:END
:: This is the end - my only friend - the end *sing*
:: Mensch, das ganze Code hacken macht einen echt wuschig B~7
Code: Alles auswählen
:: ------------------------------------------------------------------------
:: Suspende alle VMs, erstelle Schattenkopie und re-starte alle VMs
:: Die Schattenkopie von C: wird als Laufwerk V: gemountet und kann
:: gesichert werden.
:: ------------------------------------------------------------------------
@set VMroot=C:\Virtual Machines
@set OrigPATH=%PATH%
@set PATH=%PATH%;C:\Programme\VMware\VMware Server\
:: Lösche evtl.bestehende Schattenkopien
@echo y | vshadow -da
:: --- Suspendiere alle VMs...
@cd %VMroot%
@for /F "delims=," %%i in ('vmware-cmd -l') do @call vmware-cmd "%%i" suspend trysoft
:: --- erstelle Schattenkopie und mappe nach Laufwerk V:
@call vshadow -nw -p -script=vss.cmd c:
@call vss.cmd
@call vshadow -el=%SHADOW_ID_1%,V:
:: --- Starte alle VMs...
@for /F "delims=," %%i in ('vmware-cmd -l') do @call vmware-cmd "%%i" start trysoft
:: --- Kopiere VMs aus der Schattenkopie irgendwohin...
xcopy /E /H /R /Y "V:\Virtual Machines\*.*" Z:\backup
:: --- Stelle Pfad wieder her und lösche Temporäre Dateien
@set PATH=%OrigPATH%
@del vss.cmd
Zurück zu „VMserver 1 und GSX“
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast