Backup farmy SharePoint 2010

040/365 | How To Deal With The BSOD | Project 365/2010

Pisałem już kiedyś o backupie zbiorów witryn dla Windows SharePoint Services 3.0, który to jest nadal aktualny i przydatny nie mniej wraz z nadejściem SharePointa 2010 narzędzie STSADM zaczyna powoli odchodzić do lamusa na rzecz powershella. Dodatkowo w tej edycji udostępniono nowy mechanizm backupu całej farmy SharePoint 2010 – Backup-SPFarm.  Narzędzie jest warte uwagi i wykorzystania do backupu SharePointa. W wpisie tym znajdziecie skrypt automatycznie generujący backup farmy SharePoint w zastosowaniu Backup-SPFarm.

Backup

Skrypt działa w bardzo prosty sposób:

  1. kasuje stary backup
  2. tworzy nowy
  3. wysyła maila z informacją o statusie wykonania backupu

Backup realizuję na koncie Farm Account. Konto to oraz konto, na którym działa SQL muszą mieć uprawnienia do docelowego udziału sieciowego.

Backup z wykorzystaniem Backup-SPFarm backuje następuje zasoby:

  • Web aplikacje
  • Aplikacje usług (Service Application)
  • Kontent
  • Konfigurację
  • Rozwiązanie trzecie wdrożone jako pliki .wsp

Skrypt:
Add-PsSnapin Microsoft.SharePoint.Powershell –ErrorAction SilentlyContinue
try
 {
  $today = (Get-Date -Format dd-MM-yyyy)
 # Czyszczenie
 Remove-Item \\UDZIAŁ\!SP2010_FarmBackup\* -recurse
 #Lokalizacja
  [IO.Directory]::CreateDirectory("\\UDZIAŁ\!SP2010_FarmBackup\SPSFarmBackup")
 # Backup farmy
  Backup-SPFarm -Directory \\UDZIAŁ\!SP2010_FarmBackup\SPSFarmBackup -BackupMethod full -BackupThreads 10 -force
 # Adres od
  $emailFrom = "backup-sharepoint@mail.pl"
 # Adres do
  $emailTo = "sharepoint-admini@mail.pl"
 # Subject for the notification email. The + “$today” part will add the date in the subject.
  $subject = "SharePoint Farm Backup - PRAWIDLOWO - "+"$today"
 # Treść maila
  $body = "SharePoint Farm Backup wykonal sie prawidlowo - "+"$today"
  # Adres serwera pocztowego
  $smtpServer = "SMTPserwer"
  $smtp = new-object Net.Mail.SmtpClient($smtpServer)
  $smtp.Send($emailFrom, $emailTo, $subject, $body)
 }
Catch
 {
  $ErrorMessage = $_.Exception.Message
  # Analogiczna konfiguracja wysyłania maila
  $emailFrom = "backup-sharepoint@mail.pl"
  $emailTo = "sharepoint-admini@mail.pl"
  $subject = "SharePoint Farm Backup - NIE WYKONAL SIE - "+"$today"
  $body = "SharePoint Farm Backup nie wykonal sie - "+"$today  Komunikat bledu: $ErrorMessage."
  $smtpServer = "SMTPsERWER"
  $smtp = new-object Net.Mail.SmtpClient($smtpServer)
  $smtp.Send($emailFrom, $emailTo, $subject, $body)
 }

Skrypt należy odpowiednio zmodyfikować oraz zapisać jako plik .ps1.

Więcej o wykorzystanym poleceniu backupującym farmę znajdziecie w cytowanej na końcu wpisu dokumentacji.

Restore

Jak zawsze backup ścieżki odtwarzania jest niestety bezużyteczny. Dlatego aby odtworzyć posiadany backup należy w pierwszym kroku uzyskać jego ID za pomocą polecenia:

 Get-SPBackupHistory -Directory \\UDZIAŁ\!SP2010_FarmBackup\SPSFarmBackup -ShowBackup

Następnie z wykorzystaniem uzyskanego ID operacji backupu wykonujemy następujące polecenie:

Restore-SPFarm -Directory \\UDZIAŁ\!SP2010_FarmBackup\SPSFarmBackup -BackupId <ID>

Dokumentacja

Dokumentację dotyczącą tego narzędzia znajdziecie na stronach Technetu:

2 thoughts on “Backup farmy SharePoint 2010”

Leave a Reply

Your email address will not be published. Required fields are marked *