среда, 10 августа 2016 г.

SharePoint 2010 / 2016 Backup and Restore / Резервная копия и Восстановление



Резервное копирование


$remote= "\\S1\backup\SharePoint"
$Site = "http://S2"
#$today = (Get-Date -Format dd-MM-yyyy)
$today = (Get-Date -Format yyyyMMdd)
$local="c:\Backup\SharePoint"
$emailFrom = "ADMIN@River.ru"
$emailTo =  "Sizov@River.ru"
$smtpServer = "192.168.1.10"

Add-PsSnapin Microsoft.SharePoint.Powershell –ErrorAction SilentlyContinue
#backup
  New-Item -ItemType directory -Path $local\$today\ –ErrorAction SilentlyContinue
  Backup-SPSite -Identity $Site -Path $local\$today\$today.spbak
#copy to remote
  New-Item -ItemType directory -Path $remote\$today\ –ErrorAction SilentlyContinue
  Copy-Item -Path $local\$today\$today.spbak -Destination $remote\$today\
#send e-mail notifiction
  $subject = "The Site Collection "+"$Site  was backed up Successful on "+"$today"
  $body = "The Site Collection "+"$Site was backed up Successful on "+"$today`n"+"size is: " + [math]::Round((Get-Item c:\Backup\SharePoint\$today\$today.spbak).length/1024/1024) +"Mb`n"
  $smtp = new-object Net.Mail.SmtpClient($smtpServer)
  $smtp.Send($emailFrom, $emailTo, $subject, $body)
Catch
 {
  $ErrorMessage = $_.Exception.Message
  $subject = "The Site Collection "+"$Site backup failed on "+"$today"
  $body = "The Site Collection "+"$Site backup failed on "+"$today and the reason for failure was $ErrorMessage."
  $smtp = new-object Net.Mail.SmtpClient($smtpServer)
  $smtp.Send($emailFrom, $emailTo, $subject, $body)
 }

Очистка старых копий (более 7ми дней)

#clean folder
$files = Get-ChildItem $local\* -Include *.spbak | Sort-Object -Property LastWriteTime
   if ($files.count -gt 7) {
      for ($i=$files.count; $i -ge 7; $i--) {
      Remove-Item $local\$files[$i].name
      Remove-Item $remote\$files[$i].name
      }
   }

Восстановление  

  1. Развернуть виртуальную машину (из шаблона. 50Гб. 4 ЦП, 16Гб ОЗУ)
  2. Развернуть SQL Server 2012 Express
  3. Развернуть Sharepoint 2016
  4. Через админ-консоль SharePoint развернуть пустой Default Web Site например http://sp2/
      *sp2 - имя сервера на котором SharePoint хостится. 
      5. В PowerShell выполнить:
              Add-PsSnapin Microsoft.SharePoint.Powershell –ErrorAction SilentlyContinue
              Restore-SPSite -Identity http://sp2 -Path C:\Backup\20161013.spbak

      6. После проверяем доступность ресурса http://sp2
     7. Также можно проверить тут Консоль SharePoint > Центр Администрирования > Управление приложениями > Семейства веб-сайтов > Список семейств веб-сайтов


Пользователь под которым выполняется резервная копия и восстановление, должен иметь доступ к базе SharePoint в MSSQL - SharePoint_Config и к самому сайту в SharePoint.


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

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