пятница, 17 июня 2011 г.

Теневое копирование в Windows 2

Для целей резервного копирования гораздо интереснее утилиты командной строки, входящие в пакет Volume Shadow Copy Service SDK, который можно скачать здесь.
Из всего пакета нас в первую очередь интересует утилита vshadow.exe. Она позволяет
- создавать и удалять снимок тома
- просматривать списки созданных снимков
- монтировать снимок
- экспортировать, импортировать снимки и восстанавливать состояние тома
Существует две версии vshadow с различным функционалом.
Для Windows 2003, Windows 2008 и Vista необходимо использовать эту версию:
«C:\Program Files\Microsoft\VSSSDK72\TestApps\vshadow\bin\release-server\vshadow.exe»
Для XP используется
«C:\Program Files\Microsoft\VSSSDK72\TestApps\vshadow\bin\release-xp\vshadow.exe»
Версия для XP, в первую очередь, отличается от «серверной» тем, что не может создавать «хранимые» (persistent) snapshot’ы, то есть по окончанию процесса резервирования snapshot удаляется. Это ограничение накладывает реализация VSS в XP.
Утилиту можно копировать на серверы, не устанавливая SDK.
В комплект SDK входит целый набор скриптов, выполняющих различные действия. Но они достаточно сложны для понимания, поэтому предлагаю рассмотреть максимально простой скрипт, который сделает резервную копию открытых файлов через VSS.
vshadow.exe –p –script=vars.cmd d:
call vars.cmd
xcopy x:\some_locked_file.pst c:\backup\
vshadow –ds=%SHADOW_ID_1%
По шагам:
1. Создаем хранимый snapshot тома
vshadow.exe –p –script=vars.cmd d:
-p хранимый snapshot
-script=vars.cmd командный файл, в который vshadow сохранит название снапшота
vshadow записывает в файл, указанный в параметре -script следующее:
@echo.
@echo [This script is generated by VSHADOW.EXE for the shadow set
@echo {6b228a73-f8bf-4254-90e7-0d58219bc554}]
@echo.
SET SHADOW_SET_ID={6b228a73-f8bf-4254-90e7-0d58219bc554}
SET SHADOW_ID_1={8d14c5fe-87c1-4dac-8459-9a46b2874ef1}
SET SHADOW_DEVICE_1=\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy16
D: том, для которого создается snapshot
2. Подключаем snapshot как диск
call vars.cmd
vshadow.exe -el=%SHADOW_ID_1%,X:
call vars.cmd – загружаем переменные окружения с именем снапшота
vshadow.exe -el=%SHADOW_ID_1%, X: – подключаем созданный snapshot как логический диск X:
3. Копируем файлы
xcopy x:\some_locked_file.pst c:\backup\
4. Удаляем snapshot
vshadow –ds=%SHADOW_ID_1%
Это все, господа. :-) Ранее блокированый файл успешно скопировался.
Что почитать:
1) Volume Shadow Copy Service SDK. 7.2 Download http://www.microsoft.com/downloads/details.aspx?familyid=0b4f56e4-0ccc-4626-826a-ed2c4c95c871
2) http://blogs.msdn.com/adioltean/archive/2004/12/30/344476.aspx
http://blogs.msdn.com/adioltean/archive/2005/01/05/346793.aspx
http://blogs.msdn.com/adioltean/archive/2005/01/20/357836.aspx
http://blogs.msdn.com/adioltean/archive/2006/09/18/761515.aspx

Комментариев нет:

Отправить комментарий