Backup farmy SharePoint 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:
- kasuje stary backup
- tworzy nowy
- 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
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:
- Backup - http://technet.microsoft.com/en-us/library/ff607881.aspx.
- Restore - http://technet.microsoft.com/en-us/library/ff607783.aspx
Brak podobnych wpisów



