Система архивации данных windows server 2008 r2 удаление старых копий

Удаление старых копий с помощью скрипта и планировщика заданий

Для удаление старых копий воспользуемся программой wbadmin

Полный список команд можно получиться с помощью запроса

wbadmin /?

Мы же будем использовать удаление и нам понадобиться команда delete backup

Параметры:

-keepVersions Число более новых версий резервных копий, которые нужно хранить. Значение должно быть целым положительным числом. Значение -keepVersions:0 указывает, что все резервные копии будут удалены.

-version Идентификатор версии резервной копии в формате «ДД.ММ.ГГГГ-ЧЧ:ММ» Если вы не знаете идентификатор версии, введите в командной строке команду «WBADMIN GET VERSIONS». С ее помощью можно удалить версии, которые являются только резервными копиями. Чтобы просмотреть тип версии, используйте команду «WBADMIN GET ITEMS».

-deleteOldest Удаляет самую старую резервную копию.

-backupTarget Задает место хранения резервной копии, которую нужно удалить. Это значение может быть буквой диска, точкой подключения или путем к тому на основе GUID. Его нужно указывать только для резервных копий, которые находятся не на локальном компьютере. Узнать, какие резервные копии находятся на локальном компьютере, можно по каталогу архивации на нем.

-machine Компьютер, резервную копию которого вы хотите удалить. Этот параметр удобно использовать, если в одном расположении были созданы резервные копии для нескольких компьютеров. Его необходимо использовать, если задан параметр -backupTarget.

-quiet Подавляет вывод запросов при выполнении.

Рассмотрим несколько вариантов

1. Удаление всех копий, кроме одной самой «свежей»

wbadmin delete backup -keepVersions:1 -quiet (параметр quiet применяется для отключения подтверждения об удаление у пользователя, если его убрать система спросит — действительно ли вы ходите удалить все копии кроме одной)

2. Удаление определенной копии

wbadmin delete backup -version: 01.01.2017-23:30 -quiet ( данная команда удалить копию за 1 января 2017 года, созданная в 23:30)

3. Удаление самой старой резервной копии

wbadmin delete backup -deleteOldest -quiet

4. Удаление копии с одного из дисков для резервного копирования

wbadmin delete backup -backupTarget:f: -deleteOldest -quiet (удалит самую старую копию с резервного диска с букой F)

После того как вы определились какой вариант вам больше подходит, создадим файл с расширение .bat

В моем случае это будет

wbadmin delete backup -backupTarget:f: -deleteOldest -quiet

Сохраняем и добавляем в Планировщик заданий в удобное вам время (не должно совпадать с временем, когда идет процесс резервного копирования)

Так же можно добавить команду напрямую в планировщик заданий


Обновлено 10.12.2019

Windows Server Backup logoДобрый день! Уважаемые читатели и гости одного из крупнейших компьютерных блогов Pyatilistnik.org. В прошлый раз мы с вами научились настраивать сеть в Windows Server 2019 и даже протестировали на ней NIC Teaming. Двигаемся дальше и сегодня я бы хотел перевести ваш вектор изучения в сторону резервного копирования и оптимизации этого процесса. Я хочу вас научить производить удаление резервных копий (Shadow Copy), которые делает служба Архивации данных Windows Server.

В чем суть проблемы

У вас может быть установлена роль «служба Архивации данных Windows Server (Windows Server BackUP)», вы настроили задание по расписанию и все идет штатно. В какой-то момент вы сталкиваетесь с проблемой, что происходит заполнение жесткого диска резервного копирования Windows Server, роль должна видеть это и в случае нехватки пространства производить перезапись самой старой версии, по ряду причин это можете не произойти. Вторая ситуация, что у вас на диске можете быть слишком много точек резервного копирования и вы не хотели бы весь диск отдавать под них и желаете их сократить до нужного вам количества. Ниже я хочу вам показать, как вы можете все это задать явным образом.

Как удалить резервные копии Windows Server 2019 через командную строку или PowerShell

К сожалению в графическом интерфейсе у вас нет возможности явным образом задать, сколько точек восстановления должен хранить Windows Backup Server, по крайней мере в случае с состоянием системы. Но у нас все еще есть замечательная утилита командной строки wbadmin.

И так у меня есть диск E: на него каждый день служба архивации Windows Server 2019 делает резервную копию состояния системы, я устал получать от системы мониторинга оповещения, что на данном диске свободного пространства менее 5%, так как сколько службе Backup не дай, она все скушает и решил подрезать ее. Первое, что я хотел понять сколько точек резервного копирования у меня есть, посмотреть это можно двумя методами:

  • Через утилиту vssadmin
  • Через командлет Get-WBSummary

Получаем список резервных копий через Get-WBSummary

Get-WBSummary — это командлет получает историю операций резервного копирования на компьютере. Эта информация включает следующую запланированную резервную копию, сведения о последней резервной копии и сведения о последней успешной резервной копии. Вы можете использовать этот командлет для наблюдения за резервными копиями и расписанием резервного копирования на компьютере. Чтобы использовать этот командлет, вы должны быть членом группы «Администраторы» или «Операторы архива». (Подробнее на https://docs.microsoft.com/en-us/powershell/module/windowsserverbackup/get-wbsummary?view=win10-ps)

Запустите оболочку PowerShell и введите команду

Get-WBSummary

Вы получите вот такую информацию:

  • NextBackupTime — Время следующего запуска
  • NumberOfVersions — количество точек
  • LastSuccessfulBackupTime — Время последнего успешного бэкапа
  • LastSuccessfulBackupTargetPath — Последнее успешное место копирования
  • LastSuccessfulBackupTargetLabel — метка задания
  • LastBackupTime — Время последнего успешного бэкапа
  • LastBackupTarget — Последнее место резервного копирования
  • DetailedMessage — Сообщение
  • LastBackupResultHR
  • LastBackupResultDetailedHR
  • CurrentOperationStatus

В результате я точно вижу, что у меня 32 точки. Раньше еще была и еще действует утилита vssadmin. vssadmin более детально может показать информацию, о каждой точке резервного копирования. Запускать ее можно либо через командную строку или же через PowerShell. Введите команду:

На выходе будет список из всех ваших точек резервного копирования, вот пример:

Contents of shadow copy set ID: {89ecfeea-851b-406e-8fc1-8dcaab672744}
Contained 1 shadow copies at creation time: 04.11.2019 21:14:17
Shadow Copy ID: {6499900e-7a08-4d8f-b8e4-fbd3f4ab146c}
Original Volume: (E:)\?Volume{c152a874-0000-0000-0000-100000000000}
Shadow Copy Volume: \?GLOBALROOTDeviceHarddiskVolumeShadowCopy985
Originating Machine: dc01.rroot.pyatilistnik.org
Service Machine: dc01.rroot.pyatilistnik.org
Provider: ‘Microsoft Software Shadow Copy provider 1.0’
Type: DataVolumeRollback
Attributes: Persistent, No auto release, No writers, Differential

Выполнение команды vssadmin list shadows

Так же более подробно посмотреть все точки можно и через командлет Get-WBBackupSet. Get-WBBackupSet — Получает список резервных копий, которые были созданы для сервера и хранятся в указанном вами месте (Подробнее на https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee706675%28v%3dtechnet.10%29)

тут так же будут вот такие данные:

VersionId (Версия) : 11/04/2019-17:00
BackupTime (Время бэкапа) : 04.11.2019 20:00:09
BackupTarget (Целевой диск) : E:
RecoverableItems (Что входит в бэкап) : Volumes, SystemState, Applications, Files
Volume (Метка) : {Local disk (C:)}
Application : {FRS, AD, Registry}
VssBackupOption : VssFullBackup
SnapshotId (Номер снапшота) : 6499900e-7a08-4d8f-b8e4-fbd3f4ab146c
BackupSetId : 2f5e3665-bd26-46b7-baa8-e6c392805245

Выполнение командлета Get-WBBackupSet

Те администраторы, кто имеют слегка побольше опыта, они помнят, что удалить такие точки можно было через утилиту vssadmin, так например выглядит удаление самой старой точки:

vssadmin delete shadows /for=e: /oldest

Но в случае с установленной ролью архивации Windows Server вы получите ошибку:

Error: Snapshots were found, but they were outside of your allowed context. Try removing them with the backup application which created them.

Error: Snapshots were found, but they were outside of your allowed context. Try removing them with the backup application which created them

Она будет работать в случае клиентских операционных систем по типу Windows 8.1, но не в случае Windows Server. Для нашей задачи есть утилита WBADMIN. Предположим, что вы хотите удалять самую старую точку резервного копирования, для этого введите:

WBADMIN DELETE BACKUP -backupTarget:e: -deleteOldest

  • -backupTarget:e: — это диск E:
  • -deleteOldest — последняя точка

Напоминаю, что у меня их было 32. В результате вас спросят хотите ли вы произвести удаление, нажмите «Y». Далее можно заново через Get-WBSummary посмотреть количество точек. В результате видно, что их стало 31.

Как удалить резервные копии из Windows Server Backup

Чтобы удалить конкретную точку вы можете воспользоваться командой:

WBADMIN DELETE BACKUP -backupTarget:e: -version:12/05/2019-17:00

В результате видно, что у меня было 35 точек восстановления и после удаления точки 12/05/2019-17:00 их осталось 34.

windows backup удаление лишних точек

Еще очень полезно указать максимальное количество точек резервного копирования, и все что сверх этого будет удалено. Попробуйте воспользоваться вот такой конструкцией:

WBADMIN DELETE BACKUP -keepVersions:30 -backupTarget:e:

В результате выполнения команды у меня осталось 30 точек отката и 4 были удалены.

windows backup удаление лишних точек

Вы всегда можете использовать описанные выше команды удаляющие резервные копии из Windows Server Backup по расписанию, для этого вы можете в планировщике задача Windows, создать задачу которая бы выполняла PowerShell скрипт или сконвертированный ps1 в exe. НА этом у меня все, надеюсь, что мой опыт вам пригодится. С вами был Иван Семин ,автор и создатель IT портала Pyatilistnik.org.

  • Remove From My Forums
  • Вопрос

  • Уважаемые гуру, подскажите, каким образом очистить историю архивов, если выделенный диск для архивации удален из системы навсегда? Допустим, старые версии архивируемых данных меня не интересуют, я меняю
    носитель, система делает полный backup, но в остастке системы архивации показывает все предыдущие задания и все архивы, и старейшую доступную копию с какого-нибудь дремучего года. И если я старый носитель хранить не собираюсь — очень хочется
    и историю архивов на нем тоже почистить.

Ответы

  • В общем и целом ответ был дан ранее

    Использование: WBADMIN RESTORE CATALOG
        -backupTarget:{<целевой_том_архивации> | <сетевая_папка_с_архивом>}
        [-machine:<имя_компьютера>]
        [-quiet]

    Описание: запуск операции восстановления каталога архивации для локального
    компьютера из указанного расположения хранения. Для использования этой команды
    необходимо быть членом группы «Операторы архива» или «Администраторы».

    Параметры:
    -backupTarget   Расположение каталога архивации системы, указанное так же,
                    как оно было указано на момент архивации.

    -machine        Имя компьютера, для которого необходимо восстановить каталог
                    архивации. Этот параметр обычно используется в том случае,
                    если архивы нескольких компьютеров хранятся в одном и том же
                    расположении. Этот параметр необходимо использовать, если
                    указан параметр -backupTarget.

    -quiet          Выполнение команды без обращений к пользователю.

    Примеры

    WBADMIN RESTORE CATALOG -backupTarget:d:
    WBADMIN RESTORE CATALOG -backupTarget:\имя-сервераобщая_папка
     -machine:server01

    Примечания. Если расположение (диск, DVD-диск или удаленная общая папка),
    в котором хранятся архивы, повреждено или утеряно и не может быть использовано
    для восстановления каталога архивации, воспользуйтесь
    командой WBADMIN DELETE CATALOG, чтобы удалить поврежденный каталог.
    В этом случае необходимо создать новый архив после удаления каталога архивации.


    Все что вы делаете, вы делаете на свой страх и риск. Делайте Backup правильно.

    • Предложено в качестве ответа

      30 мая 2013 г. 9:29

    • Помечено в качестве ответа
      Elina Lebedeva
      25 июня 2013 г. 7:43

Содержание

  1. Система архивации windows server как удалить
  2. В чем суть проблемы
  3. Как удалить резервные копии Windows Server 2019 через командную строку или PowerShell
  4. Получаем список резервных копий через Get-WBSummary
  5. Система архивации данных — удаление старых копий без форматирования
  6. wbadmin delete systemstatebackup wbadmin delete systemstatebackup
  7. Синтаксис Syntax
  8. Параметры Parameters
  9. Примеры Examples

Система архивации windows server как удалить

Добрый день! Уважаемые читатели и гости одного из крупнейших компьютерных блогов Pyatilistnik.org. В прошлый раз мы с вами научились настраивать сеть в Windows Server 2019 и даже протестировали на ней NIC Teaming. Двигаемся дальше и сегодня я бы хотел перевести ваш вектор изучения в сторону резервного копирования и оптимизации этого процесса. Я хочу вас научить производить удаление резервных копий (Shadow Copy), которые делает служба Архивации данных Windows Server.

В чем суть проблемы

У вас может быть установлена роль «служба Архивации данных Windows Server (Windows Server BackUP)», вы настроили задание по расписанию и все идет штатно. В какой-то момент вы сталкиваетесь с проблемой, что происходит заполнение жесткого диска резервного копирования Windows Server, роль должна видеть это и в случае нехватки пространства производить перезапись самой старой версии, по ряду причин это можете не произойти. Вторая ситуация, что у вас на диске можете быть слишком много точек резервного копирования и вы не хотели бы весь диск отдавать под них и желаете их сократить до нужного вам количества. Ниже я хочу вам показать, как вы можете все это задать явным образом.

Как удалить резервные копии Windows Server 2019 через командную строку или PowerShell

К сожалению в графическом интерфейсе у вас нет возможности явным образом задать, сколько точек восстановления должен хранить Windows Backup Server, по крайней мере в случае с состоянием системы. Но у нас все еще есть замечательная утилита командной строки wbadmin.

И так у меня есть диск E: на него каждый день служба архивации Windows Server 2019 делает резервную копию состояния системы, я устал получать от системы мониторинга оповещения, что на данном диске свободного пространства менее 5%, так как сколько службе Backup не дай, она все скушает и решил подрезать ее. Первое, что я хотел понять сколько точек резервного копирования у меня есть, посмотреть это можно двумя методами:

  • Через утилиту vssadmin
  • Через командлет Get-WBSummary

Получаем список резервных копий через Get-WBSummary

Get-WBSummary — это командлет получает историю операций резервного копирования на компьютере. Эта информация включает следующую запланированную резервную копию, сведения о последней резервной копии и сведения о последней успешной резервной копии. Вы можете использовать этот командлет для наблюдения за резервными копиями и расписанием резервного копирования на компьютере. Чтобы использовать этот командлет, вы должны быть членом группы «Администраторы» или «Операторы архива». (Подробнее на https://docs.microsoft.com/en-us/powershell/module/windowsserverbackup/get-wbsummary?view=win10-ps )

Вы получите вот такую информацию:

  • NextBackupTime — Время следующего запуска
  • NumberOfVersions — количество точек
  • LastSuccessfulBackupTime — Время последнего успешного бэкапа
  • LastSuccessfulBackupTargetPath — Последнее успешное место копирования
  • LastSuccessfulBackupTargetLabel — метка задания
  • LastBackupTime — Время последнего успешного бэкапа
  • LastBackupTarget — Последнее место резервного копирования
  • DetailedMessage — Сообщение
  • LastBackupResultHR
  • LastBackupResultDetailedHR
  • CurrentOperationStatus

В результате я точно вижу, что у меня 32 точки. Раньше еще была и еще действует утилита vssadmin. vssadmin более детально может показать информацию, о каждой точке резервного копирования. Запускать ее можно либо через командную строку или же через PowerShell. Введите команду:

На выходе будет список из всех ваших точек резервного копирования, вот пример:

Так же более подробно посмотреть все точки можно и через командлет Get-WBBackupSet. Get-WBBackupSet — Получает список резервных копий, которые были созданы для сервера и хранятся в указанном вами месте (Подробнее на https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee706675%28v%3dtechnet.10%29 )

тут так же будут вот такие данные:

Те администраторы, кто имеют слегка побольше опыта, они помнят, что удалить такие точки можно было через утилиту vssadmin, так например выглядит удаление самой старой точки:

Но в случае с установленной ролью архивации Windows Server вы получите ошибку:

Она будет работать в случае клиентских операционных систем по типу Windows 8.1, но не в случае Windows Server. Для нашей задачи есть утилита WBADMIN. Предположим, что вы хотите удалять самую старую точку резервного копирования, для этого введите:

  • -backupTarget:e: — это диск E:
  • -deleteOldest — последняя точка

Напоминаю, что у меня их было 32. В результате вас спросят хотите ли вы произвести удаление, нажмите «Y». Далее можно заново через Get-WBSummary посмотреть количество точек. В результате видно, что их стало 31.

Чтобы удалить конкретную точку вы можете воспользоваться командой:

В результате видно, что у меня было 35 точек восстановления и после удаления точки 12/05/2019-17:00 их осталось 34.

Еще очень полезно указать максимальное количество точек резервного копирования, и все что сверх этого будет удалено. Попробуйте воспользоваться вот такой конструкцией:

В результате выполнения команды у меня осталось 30 точек отката и 4 были удалены.

Система архивации данных — удаление старых копий без форматирования

Для удаление старых копий воспользуемся программой wbadmin

Полный список команд можно получиться с помощью запроса

wbadmin /?

Мы же будем использовать удаление и нам понадобиться команда delete backup

-keepVersions Число более новых версий резервных копий, которые нужно хранить. Значение должно быть целым положительным числом. Значение -keepVersions:0 указывает, что все резервные копии будут удалены.

-version Идентификатор версии резервной копии в формате «ДД.ММ.ГГГГ-ЧЧ:ММ» Если вы не знаете идентификатор версии, введите в командной строке команду «WBADMIN GET VERSIONS». С ее помощью можно удалить версии, которые являются только резервными копиями. Чтобы просмотреть тип версии, используйте команду «WBADMIN GET ITEMS».

-deleteOldest Удаляет самую старую резервную копию.

-backupTarget Задает место хранения резервной копии, которую нужно удалить. Это значение может быть буквой диска, точкой подключения или путем к тому на основе GUID. Его нужно указывать только для резервных копий, которые находятся не на локальном компьютере. Узнать, какие резервные копии находятся на локальном компьютере, можно по каталогу архивации на нем.

-machine Компьютер, резервную копию которого вы хотите удалить. Этот параметр удобно использовать, если в одном расположении были созданы резервные копии для нескольких компьютеров. Его необходимо использовать, если задан параметр -backupTarget.

-quiet Подавляет вывод запросов при выполнении.

Рассмотрим несколько вариантов

1. Удаление всех копий, кроме одной самой «свежей»

wbadmin delete backup -keepVersions:1 -quiet (параметр quiet применяется для отключения подтверждения об удаление у пользователя, если его убрать система спросит — действительно ли вы ходите удалить все копии кроме одной)

2. Удаление определенной копии

wbadmin delete backup -version: 01.01.2017-23:30 -quiet ( данная команда удалить копию за 1 января 2017 года, созданная в 23:30)

3. Удаление самой старой резервной копии

wbadmin delete backup -deleteOldest -quiet

4. Удаление копии с одного из дисков для резервного копирования

wbadmin delete backup -backupTarget:f: -deleteOldest -quiet (удалит самую старую копию с резервного диска с букой F)

После того как вы определились какой вариант вам больше подходит, создадим файл с расширение .bat

В моем случае это будет

wbadmin delete backup -backupTarget:f: -deleteOldest -quiet

Сохраняем и добавляем в Планировщик заданий в удобное вам время (не должно совпадать с временем, когда идет процесс резервного копирования)

Так же можно добавить команду напрямую в планировщик заданий

wbadmin delete systemstatebackup wbadmin delete systemstatebackup

Удаление указанных резервных копий состояния системы. Deletes the system state backups that you specify. Если указанный том содержит резервные копии, отличные от резервных копий состояния системы локального сервера, эти резервные копии не будут удалены. If the specified volume contains backups other than system state backups of your local server, those backups will not be deleted.

Чтобы удалить резервную копию состояния системы с помощью этой команды, необходимо быть членом группы » Операторы архива » или » Администраторы «, либо вам должны быть делегированы соответствующие разрешения. To delete a system state backup using this command, you must be a member of the Backup Operators group or the Administrators group, or you must have been delegated the appropriate permissions. Кроме того, необходимо запустить программу Wbadmin из командной строки с повышенными привилегиями, щелкнув правой кнопкой мыши командную строку и выбрав команду Запуск от имени администратора. In addition, you must run wbadmin from an elevated command prompt, by right-clicking Command Prompt, and then selecting Run as administrator.

Cистема архивации данных Windows Server не выполняет резервное копирование и восстановление кустов пользователя реестра (HKEY_CURRENT_USER) в ходе резервного копирования состояния системы или восстановления состояния системы. Windows Server Backup does not back up or recover registry user hives (HKEY_CURRENT_USER) as part of system state backup or system state recovery.

Синтаксис Syntax

Необходимо указать только один из следующих параметров: -кипверсионс, -Version или -делетеолдест. You must only specify one of these parameters: -keepVersions, -version, or -deleteOldest.

Параметры Parameters

Параметр Parameter Описание Description
-Кипверсионс -keepVersions Указывает количество последних резервных копий состояния системы для сохранения. Specifies the number of the latest system state backups to keep. Значение должно быть положительным целым числом. The value must be a positive integer. Параметр value -кипверсионс: 0 удаляет все резервные копии состояния системы. The parameter value -keepversions:0 deletes all the system state backups.
-version -version Указывает идентификатор версии резервной копии в формате мм/дд/гггг-чч: мм. Specifies the version identifier of the backup in MM/DD/YYYY-HH:MM format. Если вы не знакомы с идентификатором версии, выполните команду Wbadmin get versions . If you don’t know the version identifier, run the wbadmin get versions command.

С помощью этой команды можно удалить версии, созданные исключительно для резервного копирования состояния системы. Versions made up of exclusively system state backups can be deleted using this command. Выполните команду Wbadmin get Items , чтобы просмотреть тип версии. Run the wbadmin get items command to view the version type. -Делетеолдест -deleteOldest Удаляет старую резервную копию состояния системы. Deletes the oldest system state backup. -backupTarget -backupTarget Указывает место хранения резервной копии, которую необходимо удалить. Specifies the storage location for the backup that you want to delete. Местом хранения резервных копий диска может быть буква диска, точка подключения или путь тома на основе GUID. The storage location for disk backups can be a drive letter, a mount point, or a GUID-based volume path. Это значение необходимо указывать только для поиска резервных копий, которые не находятся на локальном компьютере. This value only needs to be specified for locating backups that are not on the local computer. Сведения о резервных копиях для локального компьютера доступны в каталоге резервного копирования на локальном компьютере. Information about backups for the local computer is available in the backup catalog on the local computer. -Machine -machine Указывает компьютер, резервную копию состояния системы которого необходимо удалить. Specifies the computer whose system state backup you want to delete. Полезен, если резервное копирование нескольких компьютеров выполнялось в одном и том же месте. Useful when multiple computers were backed up to the same location. Следует использовать, если указан параметр -backupTarget . Should be used when the -backupTarget parameter is specified. -quiet -quiet Выполняет команду без запроса пользователю. Runs the command without prompts to the user.

Примеры Examples

Чтобы удалить резервную копию состояния системы, созданную 31 марта 2013 в 10:00 AM, введите: To delete the system state backup created on March 31, 2013 at 10:00 AM, type:

Чтобы удалить все резервные копии состояния системы, кроме трех последних, введите: To delete all system state backups, except the three most recent, type:

Чтобы удалить старую резервную копию состояния системы, хранящуюся на диске f:, введите: To delete the oldest system state backup stored on disk f:, type:

Contents of this directory is archived and no longer updated.

В предыдущей части бэкапа в 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<имя компьютера>

  • После окончания бэкапа система делает теневую копию этого тома (кроме сетевых папок) тома, на котором хранится бэкап.

  • Обновляется каталог бэкапов.

Если это сетевая папка, то в пути \ServerBackupShareWindowsImageBackup создаст папку для каждого компьютера и в ней будет хранить бэкап соответствующего компьютера. При этом последующие операции бэкапа будут копировать архив в эту же папку.  Во времена 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 последних копий. Так же все копии должны копироваться в сетевую папку или на съёмный диск на случай катастрофы и/или ада и Израиля. В такой ситуации мы потеряем возможность использования авторотации архивов и прочих плюшек. Давайте посмотрим, как будет выглядеть примерный скрипт:

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 \serverbackupsprofiles
    
    dir \serverbackupsprofiles | ?{$_.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 файл для каталогизации теневых копий. Вот как это примерно выглядит:

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 \serverbackupsprofiles
    
    dir \serverbackupsprofiles | ?{$_.lastwritetime -lt (Get-Date).AddDays(-7)} | del -Force
    
    $csv = Import-Csv E:ProfileBackup.csv
    
    $count = $csv.count
    
    
    if ($count -gt 7) {
        $old = $count - 7
        
        $file = [System.IO.Path]::GetRandomFileName()
        
        $csv | sort | select -First $old | %{
            
            "delete shadows ID {$($_.SnapshotID)}" > $Env:TEMP$file
            
            diskshadow -s $Env:TEMP$file
        }
        del $Env:TEMP$file
    }
    
    $current = Get-WBBackupSet | select -Last 1  | select VersionID, SnapshotId
    
    $csv += $current
    
    $csv | sort | select -Last 7 | Export-Csv E:ProfileBackup.csv -NoTypeInformation
} else {
    
}

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

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


Перейти к содержимому

Используем систему архивации Windows из командной строки.

Справка по команде:

wbadmin /?

Однократная архивация системы на локальный диск G:

wbadmin start systemstatebackup -backupTarget:G:

Регулярная архивация состояния системы (Данная задача будет добавлена в Планировщик заданий – Библиотека планировщика заданийMicrosoftWindowsBackup):

wbadmin enable backup -addTarget:G: -schedule:04:00 -systemState

Список резервных копий:

wbadmin get versions

Очистить каталог сохраняя 2 последние копии (0 – удалятся все копии):

wbadmin delete systemstatebackup –backupTarget:G: -keepversions:2

Удалить самую старую архивную копию (без вопросов -quiet):

wbadmin delete systemstatebackup –backupTarget:G: –deleteOldest -quiet

Cтатус выполнения:

wbadmin get status

Остановка выполняемой архивации:

wbadmin stop job

Отключение архивации:

wbadmin disable backup -quiet

Полностью удалить архив:

wbadmin delete catalog

Посмотреть ID логических дисков:

vssadmin list volumes

3 871

Добрый день.
Прошу вашей помощи, т. к. я совсем запутался.
У меня есть контроллер домена на Windows Server 2008. Я делаю на нем однократную полную архивную копию системы на локальный диск d: . Как я могу удалить все архивные копии и очистить сообщения об архивации в консоли Система архивации данных Windows Server?
1. Я физически удалял каталог WindowsImageBackup, но не смог удалить сообщения о прошедших архивациях. (это, наверное, варварство и не правильно!)
2. Удалял резервные копии командой diskshadow – delete Shadow ALL
3. Применял команду WBADMIN DELETE CATALOG. Выдалось сообщение: Удалить каталог? После удаления каталога придется создать новый каталог архивов. Каталог архивации успешно удален. После этого у меня на диске D: остался каталог WindowsImageBackup размером 6,15 Гб.

Может я несколько путано объяснил, но я хочу: очистить диск от резервных копий системы, удалить все сообщения системы архивации.

С уважением,
Геннадий.

Добавлено через 21 час 37 минут
Можно я сформулирую свой вопрос по другому.
Я удалил каталог с резервными копиями на локальном диске, очистил журнал Backup.
Это корректно, с точки зрения системы? Надо еще что-то сделать, что бы не нарушить работоспособность сервера?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

Понравилась статья? Поделить с друзьями:
  • Система грузит диск на 100 процентов windows 10
  • Система не обнаружила msvcp120 dll windows 10 как исправить ошибку
  • Система грузит диск на 100 windows 10 system
  • Система не обнаружила msvcp120 dll windows 10 как исправить ведьмак 3
  • Система архивации данных windows server 2008 r2 восстановление