Время шло. Появился Windows Server 2000 и утилита приобрела возможность работы с VSS. В Windows 2003 она осталась прежней. Но в момент выхода Windows 2008 всех слегка разочаровал тот факт что она исчезла и на замену ей пришел непонятный, малофункциональный и крайне неуклюжий Windows Backup.
— Где же наш NT Backup? Как же без него? — воскликнули все после того как не увидели привычного инструмента.
И были совершенно правы потому что исчезли привычные возможности выбора отдельных папок, исчез любимый System State Backup.
Эволюция.
Первый взгляд на Windows Backup слегка озадачил из за его скудного интерфейса и небольших возможностей. Немного порывшись в документации я выяснил что не все так плохо как кажется — весь «потерянный» функционал переместился в командную строку. Появилась утилита wbadmin.exe и управлять резервным копированием стало гораздо проще.
Она имела долгожданную поддержку powershell что сделало ее незаменимым инструментом системного администратора.
Исчез неповоротливый графический интерфейс и синтаксис команды не вызовет затруднений по причине того что информация предоставляемая по ключу /? более чем достаточна.
— Верните нам графическую оболочку! — кричали одни.
— Нам все нравиться. — сказали их оппоненты.
Микрософт подумал и сообщил что в следующей версии ОС будут учтены желания и первых и вторых.
Что бы не быть голословным приведу несколько типичных примеров использования утилиты wbadmin.
Выполнить резервную копию нескольких папок и состояния системы на диске Z: можно командой
wbadmin start backup –backupTarget:z: -include:D:\Files\Share01,D:\Files\Share02 –systemstate -vsscopy
или выполнить бэкап в сетевую папку только папки D:\Files\Share01 без подкаталогов.
wbadmin start backup –backupTarget: \\backupshare\backup1 -noinheritacl -nonrecurseinclude:D:\Files\Share01
состояние системы, бывший System State, резервируется командой.
wbadmin start systemstatebackup -backupTarget:f:
А восстанавливается так
wbadmin start sysrecovery -version:01/31/2011-09:00 -backupTarget:d:
для того что бы диск не переполнялся полезно подчищать набор имеющихся версий и оставлять три последние.
wbadmin delete systemstatebackup -keepVersions:3
Возможности утилиты позволяют планировать задания. Например, чтобы сохранять важные системные области на диск D: в 10 и 18 часов, пишем:
wbadmin enable backup –allcritical –addtarget:d: -schedule:10:00,18:00
Чтобы отменить задание, используем команду
wbadmin disable backup
Революция
Но время шло и из недр корпорации Microsoft появился Windows 2008 R2.
В нем наряду со многими изменениями эволюционировала и утилита Windows Backup.
— Что же изменилось? — спросите вы.
Давайте по шагам попробуем разобраться. Начнем с процедуры установки необходимых компонентов. Установку с использованием графического интерфейса я умышленно пропускаю и буду оперировать только командной строкой.
Устанавливаем компоненты Windows Server Backup и Command-line Tools из Server Backup Features.
dism /online /enable-feature /featurename:WindowsServerBackup
dism /online /enable-feature /featurename:WindowsServerBackupCommandlet
После чего вводим.
dism /online /get-features > D:\TEMP\Result.txt
В полученном файле ищем строки.
Feature Name : WindowsServerBackup
State : EnabledFeature Name : WindowsServerBackupCommandlet
State : Enabled
Поле «State : Enabled» сообщает о том что компоненты установлены успешно.
Запускаем Powershell.
Для доступа к командлетам управления wbadmin необходимо импортировать модуль
Import-Module ServerManager
После этого ничто не помешает нам перейти к реализации задуманных планов по резервному копированию.
Сценарий №1
Нам необходимо создать резервную копию и включить ее в расписание. Резервируем папку D:\Files\. Папку D:\Files\Deploy необходимо исключить. Так же в набор нужно добавить System State.
# Добавляем снапин
Add-PSSnapin Windows.Serverbackup
# создаем экземпляр политики в переменной $policy
$policy = New-WBPolicy
# включаем в бэкап SystemState
Add-WBSystemState $policy# Задаем пути и исключения
$filespec1 = New-WBFileSpec -FileSpec «D:\Files\»
$filespec2 = New-WBFileSpec -FileSpec «D:\Files\Deploy» -Exclude
$filespecarray = ($filespec1, $filespec2)# Подключаем назначенные ранее параметры к политике
Add-WBFileSpec -Policy $policy $filespecarray# Для сохранения резервной копии указываем том назначения
$volumeBackupLocation = New-WBBackupTarget -VolumePath E:
Add-WBBackupTarget -Policy $policy -Target $volumeBackupLocation# Создаем расписание. В нашем случае – ежедневно в 21:00
Set-WBSchedule -Policy $policy -Schedule 21:00
Set-WBPolicy -Policy $policy# выводим на экран детали созданной политики
$policy
Сценарий №2
Необходимо создать резервную копию в сетевую папку.
# Добавляем необходимый снапин
Add-PSSnapin Windows.Serverbackup
$policy = New-WBPolicy
Add-WBSystemState $policy
$filespec1 = New-WBFileSpec -FileSpec «D:\Files\»
Add-WBFileSpec -Policy $policy $filespec1# для бэкапа с сетевую папку необходимо задать данные пользователя под которым выполняется задание
$cred = Get-Credential# Укажите папку назначения
$volumeBackupLocation = New-WBBackupTarget -NetworkPath \\SERVER\BACKUP -Credential $credAdd-WBBackupTarget -Policy $policy -Target $volumeBackupLocation
# Указываем расписание. В данном примере это ежедневно в 3 часа ночи и 22 часа
Set-WBSchedule -Policy $policy -Schedule 03:00,22:00
# финальный шаг – сохранение настроек после которого система создает задание по бэкапу.
Set-WBPolicy -Policy $policy
Небольшой бонус к вышесказанному.
Если вам лень контролировать результаты выполнения задания то можно настроить процедуру анализа. Она приведена ниже.
# Ждем пока не завершиться активное задание
while ((Get-WBJob).State -eq «Running») { }# получаем результаты работы задания
$ResultJob = Get-WBJob -Previous 1# анализируем результат
If (!($ResultJob.JobState -eq «Completed»)) {
# задание завершилось неудачно
//код обработки//
} Else {
# задание завершилось удачно
//код обработки//
}
В строку //код обработки// вставьте нужный вам код и наслаждайтесь широчайшими возможностями которые вам предоставляет powershell.
Мариничев Сергей http://itband.ru/2011/02/backup-utilities/
Комментариев нет:
Отправить комментарий