Я написал командный файл, его цель - остановить vm, создать резервную копию папки (Копировать все виртуальные машины Virtualbox) на другом диске и запустить виртуальные машины.
Код указан ниже:
@echo on
cls
echo "Change directory to Virtualbox root directory"
cd /d "c:\Program Files\Oracle\VirtualBox"
echo "Powering off Virtual machines"
VBoxManage controlvm "centos74.master" poweroff
PING localhost -n 30 >NUL
VBoxManage controlvm "centos74.agent" poweroff
PING localhost -n 30 >NUL
echo "Commence backup work"
cd /d E:
if not exist Backup-%date:~-4,4%-%date:~-7,2%-%date:~-10,2% mkdir Backup-%date:~-4,4%-%date:~-7,2%-%date:~-10,2%
REM cd Backup-%date:~-4,4%-%date:~-7,2%-%date:~-10,2%
robocopy C:\Users\user\VirtualBox VMs\ E:\Backup-%date:~-4,4%-%date:~-7,2%-%date:~-10,2%
echo "Change directory to Virtualbox root directory"
cd /d "c:\Program Files\Oracle\VirtualBox"
echo "Starting Virtual machines"
VBoxManage startvm "centos74.master"
PING localhost -n 30 >NUL
VBoxManage startvm "centos74.agent"
PING localhost -n 30 >NUL
@echo off
У меня, однако, есть две проблемы.
1. Робокопия сама по себе не работает, пожалуйста, найдите ниже сообщение об ошибке выполнения
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Tuesday, 20 November 2018 9:19:03 AM
Source - C:\Users\user\VirtualBox\
Dest - E:\VMs\
Files :
Options : /DCOPY:DA /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
ERROR : Invalid Parameter #3 : "E:\Backup-2018-11-20"
Simple Usage :: ROBOCOPY source destination /MIR
source :: Source Directory (drive:\path or \\server\share\path).
destination :: Destination Dir (drive:\path or \\server\share\path).
/MIR :: Mirror a complete directory tree.
For more usage information run ROBOCOPY /?
**** /MIR can DELETE files as well as copy them !
Не так важно, но приведенный ниже код неэффективен, то есть он должен создавать только одну-единственную папку, даже если вы выполняете ее несколько раз. Когда я выполняю несколько раз, он создает вложенную папку, такую как
E: \ Backup-20-ноября-2018 \ Backup-20-ноября-2018 \ Backup-20-ноября-2018 \
Код ошибки:
if not exist Backup-%date:~-4,4%-%date:~-7,2%-%date:~-10,2% mkdir Backup-%date:~-4,4%-%date:~-7,2%-%date:~-10,2%
Любая помощь будет принята с благодарностью.