Настроим автоматическое сохранение копий наших виртуальных машин в папку расшареную на samba сервере.
Создадим скрипт на powershell и положим в c:\vmbackup.ps1
$source = "D:\backup\"
$destination = "D:\backup"
$curdate = (Get-Date).AddDays(-1).tostring("%d-%m-%y")
$vmname = @('proxy','cloudit','openfire')
Remove-Item "D:\backup\*" -Recurse
$ND = New-Object -ComObject WScript.Network
$ND.MapNetworkDrive('Z:', '\\192.168.21.12\sysbackup\vm-backup', $false, 'leash', 'Privet12')
New-Item -Path 'Z:\mashines\archive\' -Name $curdate -ItemType "directory"
Move-Item -Path Z:\mashines\*.zip -Destination
Z:\mashines\archive\$curdate
foreach ($item in $vmname){
Export-VM -Name $item -Path "D:\backup\"
& "C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -mx1 -r0 $destination\"$item".zip $source$item
}
Copy-Item D:\backup\*.zip Z:\mashines\
Remove-Item "D:\backup\*" -Recurse -Force
forfiles -p Z:\mashines\archive\ -m * -d -3 -c "cmd /c rd /s /q @path"
$ND.RemoveNetworkDrive('Z:')
exit
Чтобы запускать наш скрипт из планировщика заданий создадим bat файл
C:/vm.cmd
Теперь создадим правило в планировщике
Если надо удалить
schtasks /delete /tn "backup_ps"