• Какое выбрать ПО для резервного копирования "на лету" виртуальных машин под Hyper-V?

    @kko
    stankevsk: есть вариант скрипта, который может выполнять бекап на сетевой диск с примитивным логированием
    (по привычке использую 2 файла -- cmd -- для создания расписания в таск шедуллере, и ps1 -- собаственно скрипт);
    HyperVBackup.bat
    ----------------------------HyperVBackup.bat -----------start--------------------
    powershell -ExecutionPolicy Unrestricted -file HyperVBackup.ps1
    ----------------------------HyperVBackup.bat ------------end--------------------

    ----------------------------HyperVBackup.ps1 -----------start--------------------
    # Hyper-V VMs HVBackup script
    # by Konstantin Kondratyuk
    # kko@ciklum.com

    # Get hostname
    $Hostname = hostname

    # Get current date
    $Date = Get-Date -Format yyyyMMdd

    # Get current time
    $StartStopTime = Get-Date -Format "yyyyMMdd HH:mm_ss"

    # Set logs location
    $LogsPath = "C:\scripts\HyperVBackup\logs"

    # Set Operations Log
    $OperationsLogName = "vms_HVBackup_operations_log_$Date.txt"
    $OperationsLog = New-Item -ItemType File -Name $OperationsLogName -Path $LogsPath -Force

    #Write Start message in Log-file
    echo "Start backup VM on $Hostname at $StartStopTime" >> $OperationsLog

    # Set backup path
    $BackupPath = New-Item "\\[path to network share]\$Date" -ItemType directory -Force

    # Select VMs
    $VMs = Get-VM -ComputerName $Hostname

    # Export selected VMs
    Export-VM $VMs -Path $BackupPath
    $ExportedVMs = $VMs | Select-Object Name | Out-String

    #Write name exported VMs
    $ExportedVMs >> $OperationsLog

    # Get current time
    $StartStopTime = Get-Date -Format "yyyyMMdd HH:mm_ss"

    #Write Stop message in Log-file
    echo "Stop backup VM on $Hostname at $StartStopTime" >> $OperationsLog

    # Variables cleanup
    Remove-Variable -Name * -ErrorAction SilentlyContinue
    ----------------------------HyperVBackup.ps1 ------------end--------------------
    --------------------------------------------------------------------------------------------------
    Из особенностей
    1. Если бакап по сети -- в настройках секьюрити надо дать разрешения для учётной записи ПК писать в эту шару (проверялся в доменной структуре, для рабочих групп не проверял)
    2. Логи в текущей версии кладутся локально по пути
    C:\scripts\HyperVBackup\logs
    просто потому что необходимости отсылать на почту небыло. Для отсылки на почту понадобится дописать еще строчек 15 кода.
  • Какое выбрать ПО для резервного копирования "на лету" виртуальных машин под Hyper-V?

    @kko
    в простейшем случае через использование командлета
    Export-VM
    Export-VM [Имя VM] -Path [путь экспорта]