Рассмотрим как делать резервную копию баз данных 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, который создает структурированную иерархию резервных копий, со сроком их хранения (старые резервные копии удаляются). Скрипт с комментариями, поэтому разобраться в нем не составит труда.
Разрешить выполнение скриптов в Powershell:
powershell -Command Set-ExecutionPolicy RemoteSigned
# Получаем текущую дату
$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
Понравилась или оказалась полезной статья, поблагодари автора
Оставить ответ