Backup instructions for Site Collection, read TechNet http://technet.microsoft.com/en-us/library/ee748617(office.14).aspx
I want to backup the site collection daily and keep a backup of every week of the year. I created a Powershell script and scheduled the script.
The Powershell script does the following:
- checks if SharePoint Powershell Snapin is loaded;
- checks if backup location exists;
- backups the site collection;
- copies the daily backup to the weekly if necassary;
The ‘Backup Site Collection.ps1’ code:
"-------------------------------------""Yellow & Red SharePoint Backup script""-------------------------------------""- One daily backup""- And weekly backup"#Backup location$backupLocation = "\\XXX\d$\_backups\XXX\"#Site collection location$sitecollection = "http://XXX"#daily filename$dailybackupfile = Join-Path -Path $backupLocation -ChildPath "backup_yarintranet_daily.bak"#weekly filename (using uformat as format doesn't have week option)$weeklybackupfile = Join-Path -Path $backupLocation -ChildPath ("backup_yarintranet_" + (Get-Date -UFormat %Y%W) + ".bak")# check to ensure Microsoft.SharePoint.PowerShell is loaded$snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}if ($snapin -eq $null) {Write-Host "Loading SharePoint Powershell Snapin"Add-PSSnapin "Microsoft.SharePoint.Powershell"}if(!(test-path $backupLocation -PathType Container)){"Backup location (" + $backupLocation + ") not found."break}"Starting backup process"Backup-SPSite -Identity $sitecollection -Path $dailybackupfile -Force"Finshed backup process""Copy daily backup to weekly if necessary"if((test-path $weeklybackupfile -PathType Leaf)){"Weekly backup file found, so no backup will be made"break}copy $dailybackupfile $weeklybackupfile -Force"Finished"
Schedule the a task using the Windows 2008 scheduler.
Make sure that:
-
you set the correct Identity that has access to the backup location;
-
task runs even when user is not logged in;
-
Set interval of script execution in ‘Trigger’ tab;
In ‘Action’ Tab set the execution of the Powershell script:
-
Program/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
-
Arguments: -file "<full path location to your Site Collection backup Powershell script>" (exclude the <, include the ")
And as always, make sure you test your backup. Otherwise you’ll have a very bad day when disaster strikes.