В предыдущей части бэкапа в Windows Server 2008 R2 (Windows Server 2008 R2 и Windows Backup (часть 1)) мы рассмотрели основные моменты создания бэкапа средствами PowerShell. Сегодня мы рассмотрим вопросы самого процесса бэкапа и о его хранении.

Проверка успешности бэкапа

Когда процесс бэкапа закончится, можно посмотреть его статус:

[↑] [Administrator] Get-WBSummary NextBackupTime : 0001.01.01. 0:00:00 NumberOfVersions : 5 LastSuccessfulBackupTime : 2009.10.07. 14:39:42 LastSuccessfulBackupTargetPath : \\?\Volume{ca6dbf07-14ad-11de-937f-806e6f6e6963} LastSuccessfulBackupTargetLabel : Camelot Share-1 LastBackupTime : 2009.10.07. 14:39:42 LastBackupTarget : E: DetailedMessage : LastBackupResultHR : 0 LastBackupResultDetailedHR : 0 CurrentOperationStatus : NoOperationInProgress

Здесь вы увидите основные сведения о результатах бэкапа. Свойство LastBackupResultHR содержит код возврата. Если это 0, то всё хорошо. Если это не 0, то бэкап не был выполнен удачно. А вот свойство NumberOfVersions показывает сколько уже копий бэкапа содержится в текущем архиве. Более подробно этот момент будет рассмотрен ниже.

Процесс создания и хранения бэкапа

При выполнении бэкапа происходит несколько вещей:

  • В корне диска назначения бэкапа создаётся структура папок: <путь до диска или сетевой папки>\WindowsImageBackup\<имя компьютера>
  • После окончания бэкапа система делает теневую копию этого тома (кроме сетевых папок) тома, на котором хранится бэкап.
  • Обновляется каталог бэкапов.

Если это сетевая папка, то в пути \\Server\BackupShare\WindowsImageBackup создаст папку для каждого компьютера и в ней будет хранить бэкап соответствующего компьютера. При этом последующие операции бэкапа будут копировать архив в эту же папку.  Во времена ntbackup.exe мы могли выбирать метод выполнения бэкапа — с использованием VSS или без (это не относилось к SystemState бэкапам), а теперь этот вопрос решён однозначно — VSS используется всегда. Это обусловлено ещё тем, что Server Backup использует VSS для ведения истории бэкапов, что исключает путаницу в архивных копиях. Внимательные читатели могут заметить, что внутри папки бэкапа есть VHD файл (по одному VHD на каждый архивируемый том), который содержит актуальное состояние бэкапа. И тут появляется интересная вещь: каждый новый бэкап копируется в один VHD файл — а куда же деваются предыдущие копии? На самом деле все они хранятся в этом VHD файле, но скрыты за теневыми копиями, которые создаются при каждой операции бэкапа и закрепляются за архивом:

[↑] [Administrator] Get-WBBackupSet VersionId : 10/07/2009-10:49 BackupTime : 2009.10.07. 13:49:41 BackupTarget : E: RecoverableItems : Volumes, Files Volume : {System (C:)} Application : {} VssBackupOption : VssCopyBackup SnapshotId : 8d6aa8ef-bb24-4ffc-93da-08831bc4ae88 VersionId : 10/07/2009-11:15 BackupTime : 2009.10.07. 14:15:36 BackupTarget : E: RecoverableItems : Volumes, Files Volume : {System (C:)} Application : {} VssBackupOption : VssCopyBackup SnapshotId : ab2c6d39-3447-4c9b-b072-f03d746045c4 <...>

Команда Get-WBBackupSet показывает историю бэкапов системы и ID номер теневой копии, которая содержит файлы архива на момет выполнения конкретного задания бэкапа. При восстановлении из бэкапа консоль MMC считывает эти копии и позволяет восстановить файлы на любой момент времени выполнения бэкапа. Чтобы дать более понятное представление об этом, покажу простой пример:

  1. Выполняется первый бэкап №1.
  2. В BackupTarget создаётся папка с архивом и в VHD файл записываются данные, которые мы архивируем;
  3. В BackupTarget создаётся теневая копия, которая так же содержит эти файлы и закрепляется за этим бэкапом;
  4. Время бэкапа и ID теневой копии записывается в каталог бэкапа;
  5. Выполняется следующий бэкап этого же задания под № 2.
  6. В BackupTarget уже ничего не создаётся, а новые данные добавляются в VHD файл, скрывая данные из бэкапа №1;
  7. В BackupTarget создаётся теневая копия, которая так же содержит новые данные и закрепляется за этим бэкапом (№2);
  8. Время бэкапа и ID теневой копии записывается в каталог бэкапа.
  9. повторяются пункты 5-8.

Несмотря на то, что при непосредственном просмотре VHD файла мы видим только данные сохранённые после последней операции бэкапа, в нём по прежнему хранятся и все предыдущие копии, которые система различает по теневым копиям, которые закреплены за каждым бэкапом. Именно здесь теневые копии играют огромную роль в хранении истории бэкапа. И пока эти теневые копии живы, мы имеем доступ к предыдущим версиям файлов внутри VHD архива. Это даёт следующие преимущества:

  • больше нет кучи файлов архивов, которые нужно самому собирать в какое-то хранилище и как-то идентифицировать;
  • для восстановления файлов и томов не обязательно наличие самого бэкапа. Ведь теневая копия, которая закрепляется за этим бэкапом тоже может использоваться для восстановления.

В большинстве случаев это решение будет являться достаточным для любых операций восстановления. Единственное критичное место здесь будет наличие этих теневых копий. Это может вызвать трудности только при повреждении теневых копий на архивном томе. Но обычно это уже будет означать потерю всех бэкапов. Такие дела.

Как долго хранятся бэкапы на архивном томе?

Хранятся они там сколь угодно долго, пока есть свободное место. Когда свободное место заканчивается, то Server Backup автоматически пытается отыскать себе место. Если у нас выполняются только полные бэкапы, то наиболее старые версии архивов просто удаляются. Если у нас комбинируются полные бэкапы с инкрементальными/дифференциальными, то берётся наиболее старый архив и в него вписываются инкрементальные/дифференциальные архивы, которые были выполнены в промежутках между полными бэкапами до тех пор, пока не освободится достаточно для нового бэкапа места. Таким образом обеспечивается сохранность наиболее новых архивов с удалением более старых. Такая схема автоматической ротации так же будет востребована в большинстве случаев. Для экономии места Server Backup для запланированного задания автоматически делает комбинирование полных и инкрементальных бэкапов. Каждые 2 недели выполняется полный бэкап и ежедневно в промежутках между полными будет выполняться только инкрементальное архивирование.

Такая автонастройка режимов для запланированных бэкапов и авторотация будет достаточно эффективна и проста в сегменте SOHO/SMB, не отвлекая на себя слишком много внимания администратора. От администратора потребуется только создание задания и организация отказоустойчивости тома с архивами.

Совмещение нескольких заданий и индивидуальная ротация архивов

Разработчики Server Backup сделали всё, чтобы упростить процесс выполнения бэкапа в стандартных случаях SOHO/SMB. Но когда появляются особые условия, то тут начинаются свои сложности, хотя это всё относительно преодолимо. Например, вы создали несколько заданий бэкапов, которые отдельно что-то архивируют в одну и ту же точку. Но к каждому заданию предъявляются свои требования по сроку хранения бэкапа.

Пример: это файл-сервер и вы архивируете папку с документами пользователей ежедневно и следует хранить только 7 последние копии. Другое задание архивирует инсталляционные файлы вашей сети раз в неделю и требуется наличие только 4 последних копий. Так же все копии должны копироваться в сетевую папку или на съёмный диск на случай катастрофы и/или ада и Израиля. В такой ситуации мы потеряем возможность использования авторотации архивов и прочих плюшек. Давайте посмотрим, как будет выглядеть примерный скрипт:

# подключаем оснастку Server Backup
Add-PSSnapin Windows.Serverbackup
# создаём задание бэкапа
$profiles = New-WBPolicy
# создаём и добавляем в задание бэкапа архивируемую папку
$source = New-WBFileSpec -FileSpec "D:\Users"
Add-WBFileSpec -Policy $profiles -FileSpec $source
# указываем локальный том, на который будет копироваться архив
$target = New-WBBackupTarget -VolumePath "E:"
Add-WBBackupTarget -Policy $profiles -Target $target
# выполняем бэкап
Start-WBBackup -Policy $profiles
# проверяем код возврата с результатом выполнения бэкапа
if ((Get-WBSummary).LastBackupResultHR -eq 0) {
    # переименовываем архив в более понятное имя
    $newname = "Profiles_$(Get-Date -f dd.MM.yyyy)"
    Ren E:\WindowsImageBackup -NewName $newname
    # копируем архив в сетевую папку
    copy e:\$newname \\server\backups\profiles
    # удаляем все архивы из сетевой папки, которые старше 7 дней
    dir \\server\backups\profiles | ?{$_.lastwritetime -lt (Get-Date).AddDays(-7)} | del -Force
} else {
    # ругаемся, что бэкап не был завершён успешно
}

И уже этот файл отдельно зашедулить в Task Scheduler. В такой ситуации дополнительных шагов не требуется, т.к. пока живы теневые копии, вы можете восстанавливать файлы из них (наличие самого архива не требуется). А если теневых копий уже не осталось (например, том с архивами был отформатирован), то для восстановления данных просто копируете папку с архивом в корень любого тома с именем WindowsImageBackup и тогда этот архив будет определён системой как пригодный для восстановления. Так вы можете делать несколько раздельных заданий с индивидуальным расписанием бэкапа и ротацией.

Если ротация архивов в сетевой папке достаточно проста и укладывается в одну строчку, то с локальными архивами придётся подключать утилиты CMD, а именно — diskshadow.exe! Вам нужно внутри diskshadow выполнить Delete Shadows ID {GUID}, где GUIDID теневой копии, которая закреплена за конкретным бэкапом и его можно получить из вывода Get-WBBackupSet (свойство SnapshotID)

[↑] [Administrator] diskshadow Microsoft DiskShadow version 1.0 Copyright (C) 2007 Microsoft Corporation On computer: CAMELOT, 2009.10.13. 22:18:05 DISKSHADOW> delete shadows ID {8d6aa8ef-bb24-4ffc-93da-08831bc4ae88} Deleting shadow copy {8d6aa8ef-bb24-4ffc-93da-08831bc4ae88}... 1 shadow copy deleted. DISKSHADOW>

Вот таким образом можно удалять старые теневые копии архивов по одиночке. При удалении теневой копии при следующей операции бэкапа будет обновлён каталог бэкапов. Чтобы удалить все предыдущие архивы кроме текущего внутри diskshadow нужно выполнить:

Delete Shadows Oldest E:

где E: — путь к тому с архивами.

Сами данные из VHD файла будут удалены только при следующей операции бэкапа. Однако, это не относится к архивам, которые содержат SystemState. Для ротации архивов SystemState придётся воспользоваться уже другой утилитой — wbadmin.exe:

wbadmin delete systemstatebackup –version: datetime

где datetime — дата и время выполнения бэкапа. Эту дату можно получить так же из вывода командлета Get-WBBackupSet (свойство VersionID). Чтобы удалить все бэкапы SystemState, кроме текущего следует выполнить:

wbadmin delete systemstatebackup –backuptarget:E: –deleteoldest

и для удаления всех наиболее старых архивов SystemState с сохранением N копий выполнить:

wbadmin delete systemstatebackup –keepversions:N

где N — количество копий SystemState, которые должны быть сохранены.

Исходя из изученного нами материала можно сделать такую вещь: локально хранить стандартный архив с несколькими заданиями бэкапа, а в сетевой папке каждый тип архива отдельно и применять к ним раздельную ротацию. Единственное, что мне пришло на ум — использовать CSV файл для каталогизации теневых копий. Вот как это примерно выглядит:

# подключаем оснастку Server Backup
Add-PSSnapin Windows.Serverbackup
# создаём задание бэкапа
$profiles = New-WBPolicy
# создаём и добавляем в задание бэкапа архивируемую папку
$source = New-WBFileSpec -FileSpec "D:\Users"
Add-WBFileSpec -Policy $profiles -FileSpec $source
# указываем локальный том, на который будет копироваться архив
$target = New-WBBackupTarget -VolumePath "E:"
Add-WBBackupTarget -Policy $profiles -Target $target
# выполняем бэкап
Start-WBBackup -Policy $profiles
# проверяем код возврата с результатом выполнения бэкапа
if ((Get-WBSummary).LastBackupResultHR -eq 0) {
    # переименовываем архив в более понятное имя
    $newname = "Profiles_$(Get-Date -f dd.MM.yyyy)"
    Ren E:\WindowsImageBackup -NewName $newname
    # копируем архив в сетевую папку
    copy e:\$newname \\server\backups\profiles
    # удаляем все архивы из сетевой папки, которые старше 7 дней
    dir \\server\backups\profiles | ?{$_.lastwritetime -lt (Get-Date).AddDays(-7)} | del -Force
    # читаем наш собственный каталог бэкапов
    $csv = Import-Csv E:\ProfileBackup.csv
    # и считаем сколько там записей
    $count = $csv.count
    # если записей больше 7, то считаем сколько лишних архивов нужно удалить.
    # если меньше 7 записей, то ничего удалять не надо и просто добавляем новую запись
    if ($count -gt 7) {
        $old = $count - 7
        # генерируем случайное имя для скрипта, который будет использоваться в diskshadow
        $file = [System.IO.Path]::GetRandomFileName()
        # выбираем все лишние архивы и пропускаем их по конвейеру на удаление
        $csv | sort | select -First $old | %{
            # записываем команду во временный файл
            "delete shadows ID {$($_.SnapshotID)}" > $Env:TEMP\$file
            # и запускаем diskshadow в режиме скрипта
            diskshadow -s $Env:TEMP\$file
        }
        del $Env:TEMP\$file
    }
    # считываем данные о последнем бэкапе
    $current = Get-WBBackupSet | select -Last 1  | select VersionID, SnapshotId
    # и добавляем его в массив объектов действующих бэкапов
    $csv += $current
    # чтобы не было путаницы, снова сортируем объекты и пишем обратно в CSV файл
    $csv | sort | select -Last 7 | Export-Csv E:\ProfileBackup.csv -NoTypeInformation
} else {
    # ругаемся, что бэкап не был завершён успешно
}

В принципе, это только один вариант реализации подобной задачи и не обвешена никакими проверками. Однако, учитывая, что данный код публикуется на правах ТЗ (ТЗТайное Знание), поэтому может использоваться как шаблон алгоритма такой кастомной ротации. Данный скрипт только демонстрирует логику, которой вы можете воспользоваться и подпилить под свои условия самостоятельно.

Вот и всё, наверное, что я хотел рассказать про бэкап в Windows Server 2008 R2. В Windows 7 нет командлетов для бэкапа,  поэтому свои хотелки придётся реализовывать только средствами CMD (wbadmin, vssadmin, diskshadow). И это будет значительно сложнее, чем вариант с командлетами повершела.

Wednesday, October 14, 2009 11:29:30 PM (FLE Daylight Time, UTC+03:00)   Comments [18]    

 

Wednesday, November 25, 2009 4:25:58 PM (FLE Standard Time, UTC+02:00)
Здравствуйте!

Возможно ли выбрать провайдера VSS перед бэкапом.
На сервере w2k8 R2 установлен Aronis True Image Agent.

Во время бэкапа с помощъю wbadmin в журнале событий появляется такая ошибка 22 и 12292

Ошибка службы теневого копирования томов: не зарегистрирован критический компонент, необходимый для службы теневого копирования томов. Это может быть следствием ошибки при установке Windows или при установке поставщика теневого копирования. Ошибка возвращена функцией CoCreateInstance для класса с CLSID {5fc845eb-f299-40f0-9725-34045f7ea8ba} и именем HWPRV: [0x80004002, Интерфейс не поддерживается
].

Операция:
Создание экземпляра поставщика оборудования
Получение интерфейса с возможностью вызова для данного поставщика
Перечисление интерфейсов всех поставщиков, поддерживающих данный контекст
Получение свойств теневой копии

Контекст:
Код поставщика: {f5dbcc43-b847-494e-8083-f030501da611}
Код поставщика: {f5dbcc43-b847-494e-8083-f030501da611}
Код класса: {5fc845eb-f299-40f0-9725-34045f7ea8ba}
Контекст моментального снимка: 25
Контекст моментального снимка: 25
Контекст выполнения: Coordinator

Ошибка теневого копирования тома: Ошибка при создании класса поставщика теневого копирования COM с CLSID {5fc845eb-f299-40f0-9725-34045f7ea8ba} [0x80004002, Интерфейс не поддерживается
].

Операция:
Создание экземпляра поставщика оборудования
Получение интерфейса с возможностью вызова для данного поставщика
Перечисление интерфейсов всех поставщиков, поддерживающих данный контекст
Получение свойств теневой копии

Контекст:
Код поставщика: {f5dbcc43-b847-494e-8083-f030501da611}
Код поставщика: {f5dbcc43-b847-494e-8083-f030501da611}
Код класса: {5fc845eb-f299-40f0-9725-34045f7ea8ba}
Контекст моментального снимка: 25
Контекст моментального снимка: 25
Контекст выполнения: Coordinator

Вот этот Код поставщика: {f5dbcc43-b847-494e-8083-f030501da611} принадлежит Acronis

При этом бэкап проходит нормально.
Wednesday, November 25, 2009 11:13:15 PM (FLE Standard Time, UTC+02:00)
На сколько я знаю — нет, нельзя использовать сторонние провайдеры VSS. Во всяком случае нет интерфейса, чтобы это можно было сделать.
Wednesday, July 28, 2010 4:48:11 PM (FLE Daylight Time, UTC+03:00)
Вот такая ошибка вываливается :

Cannot add Windows PowerShell snap-in Windows.Serverbackup because it is already added. Verify the name of the snap-in and try again.
At :line:2 char:12
+ Add-PSSnapin <<<< Windows.Serverbackup

Scheduler::GetRegisteredTaskInfo failed due to error: Object is not connected to server, (0x800401fd).
.
At :line:4 char:24
+ $profiles = New-WBPolicy <<<<
Wednesday, July 28, 2010 7:13:17 PM (FLE Daylight Time, UTC+03:00)
ну это значит, что оснастка уже добавлена заранее. Не вижу в этом криминала.
Thursday, July 29, 2010 9:09:39 AM (FLE Daylight Time, UTC+03:00)
А вторая ошибка ?

Scheduler::GetRegisteredTaskInfo failed due to error: Object is not connected to server, (0x800401fd).
.
At :line:4 char:24
+ $profiles = New-WBPolicy <<<<
Thursday, July 29, 2010 9:38:34 AM (FLE Daylight Time, UTC+03:00)
об этой ошибке ничего сказать не могу.
Tuesday, June 28, 2011 5:57:28 PM (FLE Daylight Time, UTC+03:00)
Здраствуйте у меня проблемма после установки Акроника для доп резервного копирования Перестал работать VSS выдает кучу ошибок 12292 и 22. выдает когда стартует бэкап выдает 4 пары таких ошибок:

Ошибка теневого копирования тома: Ошибка при создании класса поставщика теневого копирования COM с CLSID {79079d5c-ef20-4952-b9fc-cfd443b38641} [0x80040154].

Операция:
Получение интерфейса с возможностью вызова для данного поставщика
Перечисление интерфейсов всех поставщиков, поддерживающих данный контекст
Удаление теневых копий

Контекст:
Код поставщика: {f782463b-33bb-4043-ad8d-60b728d26a6c}
Код класса: {79079d5c-ef20-4952-b9fc-cfd443b38641}
Контекст моментального снимка: 0
Контекст моментального снимка: 0
Контекст выполнения: Coordinator

Ошибка службы теневого копирования тома. Не зарегистрирован критический компонент, необходимый для службы теневого копирования тома. Это может быть следствием ошибки при установке Windows или при установке поставщика теневого копирования. Ошибка возвращена экземпляром CoCreateInstance для класса с CLSID {79079d5c-ef20-4952-b9fc-cfd443b38641} и именем SW_PROV: [0x80040154].

Операция:
Получение интерфейса с возможностью вызова для данного поставщика
Перечисление интерфейсов всех поставщиков, поддерживающих данный контекст
Удаление теневых копий

Контекст:
Код поставщика: {f782463b-33bb-4043-ad8d-60b728d26a6c}
Код класса: {79079d5c-ef20-4952-b9fc-cfd443b38641}
Контекст моментального снимка: 0
Контекст моментального снимка: 0
Контекст выполнения: Coordinator

Ну и так 4 раза с некоторыми изменениями Помогите пожалуйсто решить проблемму.

Нашол походу такиеже проблеммы решили вот так правельно ли это и если да то как удалить ветки из ррестра???
Итак. Проблема выяснена и устранена:
Метод на удивление прост:
1. Залазим в "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\STORAGE\Volume" и стираем оттуда все к е@#$@%@#$ной матери. (Пардон за экспрессию)
2. Перезагружаемся.
3. С довольным видом попивая пиво делаем бэкап системы и потом врубаем теневое копирование.
Занавес.
Evgeny
Tuesday, June 28, 2011 7:07:15 PM (FLE Daylight Time, UTC+03:00)
С подобными вопросами лучше обращаться к тех.поддержку Акрониса, тем более, я с их продуктами не работаю.
Wednesday, June 29, 2011 2:52:38 PM (FLE Daylight Time, UTC+03:00)
А подскажи тогда как в службах называется служба VSS? Volume shadow copy service? Так?
Evgeny
Wednesday, June 29, 2011 3:27:05 PM (FLE Daylight Time, UTC+03:00)
да.
Tuesday, July 19, 2011 2:39:46 PM (FLE Daylight Time, UTC+03:00)
А не подскажете ли, как удалить одноразовый бэкап из истории?

В процессе развертывания было сделано несколько бэкапов, и сейчас по Get-WBBackupSet получаю несколько записей типа:

VersionId : 06/03/2011-15:10
BackupTime : 03.06.2011 19:10:35
BackupTarget : \\server\MyBackup
RecoverableItems : Volumes, SystemState, Applications, Files, BareMetalRecovery
Volume : {System Reserved, Local disk (C:)}
Application : {"FRS", "AD", "Registry", "Exchange"}
VssBackupOption : VssCopyBackup
SnapshotId : 00000000-0000-0000-0000-000000000000

Физически их уже нет. Не критично, конечно, но раздражает
Alex
Sunday, November 20, 2011 4:17:07 AM (FLE Standard Time, UTC+02:00)
Вадим, приветствую!

Несколько запутался. Правильно ли я понимаю, что информация хранится в избыточном виде?

Провел простой тестик:
1) Забекапил диск файлы с дисков C: и D: на диск E:. Т.е. Создалась папка WindowsImageBackup на диске E:, все как и должно быть.
2) Папку WindowsImageBackup с диска E: перемещаю на диск C:.
3) Делаю успешно Recover файлов, и windows backup wizard при этом заявляет, что я его делаю с диска E:.

Вывод, папка WindowsImageBackup (при бекапе не на сетевую шару) содержит данные, которые так же есть в системной папке VSS (System Volume Information) тома на котором хранится бекап (E: в моем случае).

Выходит место для бекапов кушается в 2 раза быстрее?
Ivan
Sunday, November 20, 2011 11:30:46 PM (FLE Standard Time, UTC+02:00)
Вадим, у меня скрипт не отрабатывает. Есть проблема с добавлением данных о последнем бекапе в массив:

$csv += $current

PS C:\ps\backup> $c = $csv += $current

Method invocation failed because [System.Management.Automation.PSObject] doesn't contain a method named
At line:1 char:13
+ $c = $csv += <<<< $current
+ CategoryInfo : InvalidOperation: (op_Addition:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Ivan
Monday, November 21, 2011 12:08:10 AM (FLE Standard Time, UTC+02:00)
поковырялся. Тут судя по всему проблема в том, что перменная $csv после выполнения команды import-csv становится Customного типа, а не Arrayного. И далее ползут уже косяки, при добавлении элемента в переменную, которая не является массивом. Нужно думать как обойти.
Ivan
Monday, November 21, 2011 12:08:03 PM (FLE Standard Time, UTC+02:00)
> Выходит место для бекапов кушается в 2 раза быстрее?

нет. Вы почитайте пост ещё раз. В частности, раздел «Процесс создания и хранения бэкапа». Там написано про применение теневых копий и хранение бэкапа в этих самых копиях.

> $csv += $current

скорее всего в CSV всего один объект. Поэтому его надо явно привести к массиву: @($csv) += $current.
Wednesday, November 23, 2011 11:45:31 PM (FLE Standard Time, UTC+02:00)
"...каждый новый бэкап копируется в один VHD файл — а куда же деваются предыдущие копии? На самом деле все они хранятся в этом VHD файле, но скрыты за теневыми копиями, которые создаются при каждой операции бэкапа и закрепляются за архивом"

Вроде хорошо написано, для людей. Однако, у меня сомнения возникли потому, что по прежнему могу провести restore, не смотря на то, что папка WindowsImageBackup, со всем ее содержимым, и самое главное .VHD-шками была перемещена на другой том (диск C:). Как же мне удалось восстановить данные, если VHD больше нет на диске E:, куда изначально все бекапил? мистика выходит.


Со скриптом ковыряюсь всё еще :)
@($csv) += $current - не помогло, но да ладно. Можно и руками в файлик для начала добавить строку, это не криминально.


Не знаете почему diskshadow -s, т.е. в режиме выполнения скрипта не работает? Я уже в виде теста как только не пробовал в командной строке и .txt и .dsh и ключик /s как тут сказано http://technet.microsoft.com/ru-ru/library/cc772172(WS.10).aspx ,засада какая-то, причем на других серверах с аналогичными апдейтами работает как нужно.
т.е. буквально ничего не отправляет.
diskshadow -s C:\test.txt /l c:\log.txt содержит только:
->

если интерактивно работать с diskshadow - всё ок.


По вашему скрипту пару вещей:

1. в строке $csv | sort | select -Last 7 | Export-Csv E:\Backup.csv -NoTypeInformation - команду soft и -last 7 нужно убрать, иначе файл по завершению скрипта всегда будет иметь 7 строк и никогда не попадет по условие if ($count -gt 7), т.е. фактически теневые копии удаляться не будут, а лишь только наш собственный каталог csv.
В плане сортировки, без sort нормально сортирует, а с ней в каком-то беспорядочном виде, я так и не понял.

2. ну и copy с -recursive.





Ivan
Wednesday, November 23, 2011 11:59:05 PM (FLE Standard Time, UTC+02:00)
c select -Last 7 это я поспешил :)
Ivan
Monday, December 26, 2011 7:19:30 PM (FLE Standard Time, UTC+02:00)
Вадим, все же у вас не верно написано. Теневые копии хранятся не в VHD, а на target volume. Поэтому и выходит так, что можно восстановить данные, даже если VHD удален.
Ivan
OpenID
Please login with either your OpenID above, or your details below.
Name
E-mail
(will show your gravatar icon)
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):

Live Comment Preview
 · 

All content © 2008 - 2012, Vadims Podāns
"Spaces" Theme provided by: Vadims Podāns
About


E-mail - Send mail to the author(s)
Live Messenger -
For english language visitors
Библиотека
Календарик
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

Карта расположения посетителей
Favorites





Fan list



Disclaimer
Вся информация на сайте предоставляется на условиях «как есть», без предоставления каких-либо гарантий и прав.

При использовании материалов c данного сайта ссылка на оригинальный источник обязательна.
Protected by Copyscape Online Plagiarism Scanner