Рассмотрим как делать резервную копию баз данных MS Exchange Server 2010, используя оснастку Windows Server Backup в Windows Server 2012 R2.
Резервное копирование выполняется с помощью VSS (Volume Shadow Copy Service), с условием полной архивацией указанного тома. Только с этими условиями, сделанная резервная копия будет считаться корректной, в базы данных будет записана информация о времени выполнении резервной копии, а так же удалятся логи транзакций журналов Exchange.
Если оснастка Windows Server Backup не добавлена в систему, добавляем ее с помощью мастера добавления ролей и компонентов:
Резервирование с помощью GUI
Рассмотрим как сделать резервную копию баз данных Exchange посредством GUI оснастки Windows Server Backup.
У меня имеется две почтовые базы данных (USER, BOSS) на Exchange сервере, находятся они на локальном диске (D:\), сохранять резервные копию я буду на сетевой диск (\\192.168.7.1\backup\MailDatabases).
Задание создается элементарно, поэтому полностью расписывать его нет смысла, но размещу ниже скриншоты шагов добавления задания:
После завершения выполнения резервного копирования, информация об этом будет записана в свойства баз данных:
Так же эту информацию можно посмотреть из консоли Exchange, выполним команду:
Get-MailboxDatabase -Status | Sort -Property LastFullBackup | ft Identity,LastFullBackup Identity LastFullBackup -------- -------------- USER 29.11.2018 12:10:51 BOSS 29.11.2018 12:10:51
Резервирование с помощью скрипта Powershell
Для автоматизации процесса создания резервных копий баз данных, я написал скрипт на powershell, который создает структурированную иерархию резервных копий, со сроком их хранения (старые резервные копии удаляются). Скрипт с комментариями, поэтому разобраться в нем не составит труда.
# Получаем текущую дату $CurrentDate = get-date -format dd.MM.yyyy # Указываем целевую папку расположения резервных копий $Source_Net_Drive = "\\192.168.1.2\backup\MailDatabases" # Указываем сколько резервных копий хранить $StoreBackup_Period = 7 # Задается путь к каталогу создаваемой резервной копии, с текущей датой $Target_Net_Drive = "\\192.168.1.2\backup\MailDatabases\" + "$CurrentDate" # Функция проверки существование всех необходимых каталогов, если какого либо # каталога не будет существовать, он будет создан Function CheckPath ($Path) { $Path_Exists = Test-Path -Path $Path If ($Path_Exists -eq $False) {New-Item $Path -type directory} } # Функция удаления старых резервных копий Function RemoveOldBackup ($Path, $CountDays) { $LastWrite = (Get-Date).AddDays(-$CountDays) Get-ChildItem $Path | ForEach { If (( $_.Attributes -eq "Directory") -and ($_.LastWriteTime -le $LastWrite)) { $RemoveDir = "$Path\"+$_.Name Remove-Item -Recurse -Force $RemoveDir } } } # Создание задания резервного копирования Add-PSSnapin Windows.Serverbackup -ErrorAction SilentlyContinue $policy = New-WBPolicy $source = New-WBFileSpec -FileSpec "D:\" Add-WBFileSpec -Policy $policy -FileSpec $source $target = New-WBBackupTarget -NetworkPath $Target_Net_Drive Add-WBBackupTarget -Policy $policy -Target $target Set-WBVssBackupOptions -policy $policy -VssFullBackup # Проверяем пути CheckPath $Target_Net_Drive | Out-Null # Запуск создание резервной копии Start-WBBackup -Policy $policy -Force # Выполняем очистку целевого каталога, от старых резервных копий RemoveOldBackup $Source_Net_Drive $StoreBackup_Period
Понравилась или оказалась полезной статья, поблагодари автора
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Оставить ответ