В прошлом посте я упоминал батник, которым я бекаплю сервера в VMware.
@echo off
set HOST_URL=
https://localhost:8333/sdkset HOST_USER=User
set HOST_PASS=pass
set DATASTORE=Runtime
set DATASTORE_PATH=E:\Runtime
set TARGET_PATH=Z:
set RAR_SWITCHES=-ag-YYYYMMDD -ep1 -k -m1 -md64
if '%1' == '' goto HELP
if not exist %TARGET_PATH%\nul echo Backup failed: attach backup target device (%TARGET_PATH%)! & goto :EOF
goto %1
goto HELP
:ALL
echo Backing up all VM machines
pause
call :DO_SHUTDOWN S-APP2
call :DO_SHUTDOWN S-APP1
call :DO_SHUTDOWN S-EXCH
call :DO_SHUTDOWN S-DC
call :DO_SHUTDOWN S-ISA
call :DO_SNAPSHOT S-APP2
call :DO_SNAPSHOT S-APP1
call :DO_SNAPSHOT S-EXCH
call :DO_SNAPSHOT S-DC
call :DO_SNAPSHOT S-ISA
call :DO_STARTUP S-ISA
call :DO_STARTUP S-DC
call :DO_STARTUP S-EXCH
call :DO_STARTUP S-APP1
call :DO_STARTUP S-APP2
call :DO_BACKUP S-EXCH
call :DO_COMMIT S-EXCH
call :DO_BACKUP S-ISA
call :DO_COMMIT S-ISA
call :DO_BACKUP S-DC
call :DO_COMMIT S-DC
call :DO_BACKUP S-APP1
call :DO_COMMIT S-APP1
call :DO_BACKUP S-APP2
call :DO_COMMIT S-APP2
goto :EOF
:S-APP2
:S-APP1
:S-EXCH
:S-ISA
echo Backing up %1 VM machine
call :DO_SHUTDOWN %1
call :DO_SNAPSHOT %1
call :DO_STARTUP %1
call :DO_BACKUP %1
call :DO_COMMIT %1
goto :EOF
:S-DC
echo Backing up S-DC VM machine
call :DO_SHUTDOWN S-APP2
call :DO_SHUTDOWN S-APP1
call :DO_SHUTDOWN S-EXCH
call :DO_SHUTDOWN S-DC
call :DO_SNAPSHOT S-DC
call :DO_STARTUP S-DC
call :DO_STARTUP S-EXCH
call :DO_STARTUP S-APP1
call :DO_STARTUP S-APP2
call :DO_BACKUP S-DC
call :DO_COMMIT S-DC
goto :EOF
:HELP
echo Usage:
echo VMbackup All / S-DC / S-EXCH / S-APP1 / S-APP2 / S-ISA
goto :EOF
:DO_SHUTDOWN
echo Shutting down %1
vmrun -T server -h %HOST_URL% -u %HOST_USER% -p %HOST_PASS% STOP "[%DATASTORE%] %1/%1.vmx" soft
goto :EOF
:DO_STARTUP
echo Starting up %1
vmrun -T server -h %HOST_URL% -u %HOST_USER% -p %HOST_PASS% START "[%DATASTORE%] %1/%1.vmx"
if not '%1' == 'S-DC' goto :EOF
echo Waiting for complete start up...
ping -n 240 -w 800 192.168.1.1 > nul
goto :EOF
:DO_SNAPSHOT
echo Making snapshot of %1
md %TEMP%\%1-snapshot
copy /b "%DATASTORE_PATH%\%1\%1.*" "%TEMP%\%1-snapshot\." > nul
del "%TEMP%\%1-snapshot\*.vmem" 2> nul 1>nul
vmrun -T server -h %HOST_URL% -u %HOST_USER% -p %HOST_PASS% SNAPSHOT "[%DATASTORE%] %1/%1.vmx"
goto :EOF
:DO_COMMIT
echo Deleting snapshot of %1
vmrun -T server -h %HOST_URL% -u %HOST_USER% -p %HOST_PASS% DELETESNAPSHOT "[%DATASTORE%] %1/%1.vmx"
rmdir /S /Q %TEMP%\%1-snapshot
goto :EOF
:DO_BACKUP
echo Compressing image of %1
start "Compressing image of %1 virtual machine" /LOW /WAIT winrar.exe a %RAR_SWITCHES% "%TARGET_PATH%\%1.rar" "%TEMP%\%1-snapshot\*" "%DATASTORE_PATH%\%1\%1-flat.vmdk"
goto :EOF