При поддержке компании Mobatime Systems: лидера в разработке, производстве и продаже приборов и систем времени. Подробнее...
Сайт · Форум · Инструменты WindowsFAQ.ru - Сайт о Windows, компьютерах, системном администрировании, локальных сетях

Поиск

Друзья

Клуб любителей ASPLinux
Kerio Winroute Firewall инструкции настройки

Шаблоны

New_WindowsFAQ
Главная arrow Статьи arrow Операционные системы arrow Windows PowerShell и ServerBackup в Windows Server 2008
Windows PowerShell и ServerBackup в Windows Server 2008 Версия для печати
Рейтинг: / 5
ХужеЛучше 
Автор Станислав Булдаков   

Как известно, утилита ntbackup в Windows 2008 заменена утилитой ServerBackup. При этом механизм работы штатного средства резервного копирования изменился. Кроме этого утверждается о существовании некоторого набора командлетов PowerShell для резервного копирования. К сожалению, информации на эту тему совсем немного. Это и послужило поводом для этой записи.

Для начала необходимо установить эту утилиту. Например, следующим образом:

servermanagercmd -i powershell
servermanagercmd -i backup
servermanagercmd -i backup-tools

После этого мы можем загрузить оснастку windows.serverbackup, которая даст нам доступ к командлетам резервного копирования.

PS c:\users\administrator> add-pssnapin windows.serverbackup

Ну и наконец, список доступных командлетов:

PS c:\users\administrator> get-command -pssnapin windows.serverbackup | select name
Name
----
Add-WBBackupTarget
Add-WBVolume
Get-WBBackupTarget
Get-WBDisk
Get-WBPolicy
Get-WBSchedule
Get-WBSummary
Get-WBVolume
New-WBBackupTarget
New-WBPolicy
Remove-WBBackupTarget
Remove-WBPolicy
Remove-WBVolume
Set-WBPolicy
Set-WBSchedule

К сожалению, информации об этих командлетах совсем немного. Ниже я опишу процесс создания расписания запуска процесс резервного копирования системного диска. Для начала создадим политику резервного копирования:

PS C:\Users\Administrator> $pol = new-wbpolicy
PS C:\Users\Administrator> $pol
Schedule                      BackupTargets                 VolumesToBackup
--------                      -------------                 ---------------

Как можно увидеть, политика создана, но не созданы параметры, непосредственно связанные с резервным копированием. Для начала создадим диск, куда будет происходить резервное копирование:

PS C:\Users\Administrator> get-wbdisk
DiskName       : Virtual HD ATA Device
DiskNumber     : 0
DiskId         : 83657d9e-0000-0000-0000-000000000000
TotalSpace     : 11047550976
FreeSpace      : 1967808512
Volumes        : {Microsoft.Windows.ServerBackup.Commands.WBVolume}
Properties     : None
ContainsBackup : False
BackupVolumeId : 00000000-0000-0000-0000-000000000000

DiskName       : Virtual HD ATA Device
DiskNumber     : 1
DiskId         : a51e5a08-0000-0000-0000-000000000000
TotalSpace     : 10888077312
FreeSpace      : 10803392512
Volumes        : {Microsoft.Windows.ServerBackup.Commands.WBVolume}
Properties     : ValidTarget
ContainsBackup : False
BackupVolumeId : 00000000-0000-0000-0000-000000000000

PS C:\Users\Administrator> $disk = get-wbdisk | where {$_.disknumber -eq 1}
PS C:\Users\Administrator> $disk
DiskName       : Virtual HD ATA Device
DiskNumber     : 1
DiskId         : a51e5a08-0000-0000-0000-000000000000
TotalSpace     : 10888077312
FreeSpace      : 10803392512
Volumes        : {Microsoft.Windows.ServerBackup.Commands.WBVolume}
Properties     : ValidTarget
ContainsBackup : False
BackupVolumeId : 00000000-0000-0000-0000-000000000000

Теперь надо создать задачу для резервного копирования (backup target):

PS C:\Users\Administrator> $tgt = new-wbbackuptarget -disk $disk -label "Disk c: backup"
PS C:\Users\Administrator> $tgt | fl
Label                  : Disk c: backup
WBDisk                 : Microsoft.Windows.ServerBackup.Commands.WBDisk
Path                   :
TargetType             : Volume
PreserveExistingBackup : False

И добавить эту задачу в нашу политику:

PS C:\Users\Administrator> add-wbbackuptarget -policy $pol -target $tgt
Label                  : Disk c: backup
WBDisk                 : Microsoft.Windows.ServerBackup.Commands.WBDisk
Path                   :
TargetType             : Volume
PreserveExistingBackup : False

После чего добавляем диски, которые будем бэкапировать:

PS C:\Users\Administrator> get-wbvolume -allvolumes
VolumeLabel :
MountPath   : C:
MountPoint  : \\?\Volume{944dceb1-e654-11dd-9725-806e6f6e6963}
FileSystem  : NTFS
Property    : Critical, ValidSource
FreeSpace   : 1966133248
TotalSpace  : 11044651008

VolumeLabel : Backup
MountPath   : E:
MountPoint  : \\?\Volume{cd0397d5-02ab-11de-8e03-0003ffccc37a}
FileSystem  : NTFS
Property    : ValidSource
FreeSpace   : 10801631232
TotalSpace  : 10885267456

PS C:\Users\Administrator> $vol = get-wbvolume -allvolumes | where {$_.mountpath -eq “C:”}
PS C:\Users\Administrator> add-wbvolume -policy $pol -volume $vol
VolumeLabel :
MountPath   : C:
MountPoint  : \\?\Volume{944dceb1-e654-11dd-9725-806e6f6e6963}
FileSystem  : NTFS
Property    : Critical, ValidSource
FreeSpace   : 1966133248
TotalSpace  : 11044651008

Ну и наконец зададим время запуска операции резервного копирования. Надо иметь ввиду что дата задаётся в американском формате, т.е. в виде MM/DD/YYYY.

PS C:\Users\Administrator> $shed = [datetime]“02.24.2009 23:35:00″
PS C:\Users\Administrator> $shed
24 февраля 2009 г. 23:35:00

PS C:\Users\Administrator> set-wbschedule -policy $pol -schedule $shed
24 февраля 2009 г. 23:35:00

PS C:\Users\Administrator> $pol | fl
Schedule        : {24.02.2009 23:35:00}
BackupTargets   : {Microsoft.Windows.ServerBackup.Commands.WBBackupTarget}
VolumesToBackup : {Microsoft.Windows.ServerBackup.Commands.WBVolume}

Теперь сделаем нашу политику активной:

PS C:\Users\Administrator> set-wbpolicy -policy $pol
Warning!
Do you want to format Virtual HD ATA Device?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is “Y”): y

Теперь осталось подождать пока запустится резервное копирование. Во время процесса мы можем за ним наблюдать:

PS C:\Users\Administrator> get-wbsummary
NextBackupTime                  : 25.02.2009 23:35:00
NumberOfVersions                : 0
LastSuccessfulBackupTime        : 01.01.0001 0:00:00
LastSuccessfulBackupTargetPath  :
LastSuccessfulBackupTargetLabel :
LastBackupTime                  : 01.01.0001 0:00:00
LastBackupTarget                :
LastBackupResultHR              : 0
LastBackupResultDetailedHR      : 0
CurrentOperationStatus          : BackupInProgress
DetailedMessage                 :

После завершения процесса увидим следующее:

PS C:\Users\Administrator> get-wbsummary
NextBackupTime                  : 25.02.2009 23:35:00
NumberOfVersions                : 1
LastSuccessfulBackupTime        : 24.02.2009 23:35:05
LastSuccessfulBackupTargetPath  : \\?\Volume{cd0397fe-02ab-11de-8e03-0003ffccc37a}
LastSuccessfulBackupTargetLabel : Disk c: backup
LastBackupTime                  : 24.02.2009 23:35:05
LastBackupTarget                : Disk c: backup
LastBackupResultHR              : 0
LastBackupResultDetailedHR      : 0
CurrentOperationStatus          : NoOperationInProgress
DetailedMessage                 :

Вручную из Windows PowerShell резервное копирование не запускается, только через расписание. Первое резервное копирование делается полным, все последующие - разностными. Резервное копирование ведётся в vhd-файлы и не может проводиться на ленточные накопители. В принципе, все команды выше можно собрать в один скрипт и запускать на серверах для настройки резервного копирования.

 
< Отчёт о Платформе 2011   Windows PowerShell >

Сервер NTP

Время, полученное с NTP-сервера. Для просмотра должен быть разрешён Java-script.
Время, полученное с Вашего компьютера. Для просмотра должен быть разрешён Java-script.

Доступ к серверу NTP первого стратума
Подробнее

На форуме

Лента RSS

Mobatime - Автору - Рекламодателю - Веб-мастеру - Контакт - История - Наверх
© Владислав Семёнов aka SavageNoName 2003-2016
При любом использовании материалов ссылка на WindowsFAQ.ru обязательна
Сайту 12 лет, 7 месяцев и 12 дней. Форуму 15 лет, 11 месяцев и 25 дней.