elassistente
Goto Top

VmWare System mit Script Pausieren, Kopieren, Starten

Hallo Leute,

ich hab schonmal in nem andrem Thread geschrieben aber da bekam ich leider keine Antwort deswegen mach ich einen neuen auf.


ich hab mir mit viel Zeit in Google ein Script zusammengebaut obwohl ich eigentlich noch nie ein Script geschrieben habe. Langsam verzweifle ich aber leider.

Wenn ich das Script ausfühe wird die Maschine zwar angehalten, aber danach hört das Script auf zu arbeiten und kopiert die Dateien nich wie er eigentlich soll.

Den Teil mit "xcopy" hab ich bis heute nicht verstanden. Ich habs auch schon mit Robocopy.exe versucht aber da Blicke ich auch nicht ganz durch.

Ich will, dass mein Script die virtuelle Maschine anhält, die Verzeichnisse kopiert und danach die VM wieder startet.

Wie gesagt, stoppen kein Problem..
Wenn ich das Script nur mit dem start Teil ausführe geht es auch nur der Kopierteil funktioniert nicht.

Ich arbeite mit der VMWare Server Console 1.0.2 build-39867.. Der Host läuft mit WIN 2003 Server SE, das GastSystem ebenfalls.

Ich poste mal mein Script und hoffe mir kann jemand helfen... (Die Logfileerstellung funktioniert übrigens...)
echo off

:: # initialise variables
Set ServerName=SACSNWD2
Set BackupBinFolder=c:\backup
Set BackupLogFolder=c:\backup\logs\stop_services
Set LogFile=%BackupLogFolder%\sacsnwd2_stop_services_%DATE%.log
Set MaxLogAge=14

set rechner1=vsacnwd300-vm06 
set ziel=F:\VMWARE-SERVER\VSACNWD300\VSACNWD300-VM06

cd "C:\Programme\VMware\VMware VmPerl Scripting API"  

:check 
if exist "%ziel%\Windows Server 2003 Standard Edition.vmdk.lck" goto shutdownvm1 goto ende  

:shutdownvm1 
call vmware-cmd "F:\VMWARE-SERVER\VSACNWD300\VSACNWD300-VM06\Windows Server 2003 Standard Edition.vmx" suspend  

call vmware-cmd "F:\VMWARE-SERVER\VSACNWD300\VSACNWD300-VM06\Windows Server 2003 Standard Edition.vmx" getstate  

if suspend() = 1 goto copystart goto

:copystart
echo INFO: Kopieren der Festplattendateien

robocopy.exe "F:\VMWARE-SERVER\VSACNWD300\VSACNWD300-VM06" "G:\Backup VM-Ware" /E /ZB /COPY:DATSOU /R:0 /W:0  

call vmware-cmd "F:\VMWARE-SERVER\VSACNWD300\VSACNWD300-VM06\Windows Server 2003 Standard Edition.vmx" start  

echo %DATE% %TIME% Stopping VM Ware on %ServerName% >> %LogFile%

echo %DATE% %TIME% Deleting logfiles older than %MaxLogAge% days >> %LogFile%
cscript %BackupBinFolder%\DeleteOldLogFiles.vbs %BackupLogFolder% %MaxLogAge% >> %LogFile% 2>&1
echo %DATE% %TIME% done >> %LogFile%

echo %DATE% %TIME% Copying Data completet. >> %LogFile%

:: Delete Variables
Set BackupBinFolder=
Set BackupLogFolder=
Set MaxLogAge=
Set LogFile=
Set ServerName=

:ende
Danke im Vorraus.. ElAssistente

Content-Key: 62966

Url: https://administrator.de/contentid/62966

Printed on: April 25, 2024 at 08:04 o'clock

Member: gooogix
gooogix Jul 10, 2007 at 13:03:47 (UTC)
Goto Top
Hallo!

Ich würde auf dem 2003er Server Volume Shadow Copy Service aktivieren, dann brauchst Du die VMs nicht zu stoppen, sondern ziehst das Backup über die VSS-Dateien.

Gruss
Udo