I recently setup a new SharePoint environment to host a single site collection. Even though there was not a lot of content on this small farm, the environment needed to be highly available and we needed the ability to lose no more than one hour worth of data in the case of a catastrophic failure. Retaining backups for one week was plenty for our needs. Users of the site were located globally making the site's least utilized time in the evenings (PST) with the biggest window on Saturday.
Based on this and the idea of keeping the process easy and lightweight as possible (i.e. out-of-the-SharePoint-box and running from a single location) I decided to go this route:
Problem was I didn't know how I was going to accomplish this and than fully automate it. Breaking down this problem I determined I had three steps to make this work:
I now have 4 scheduled tasks running (Full farm, Diff farm, Hourly content db and cleanup) that provide me the ability to fulfill our simple backup strategy.
thanks. Great post.
When i run the clean.bat, i get the following error:
Get-Content : Access to the path 'd:\Backup\Farm' is denied.
At C:\Scripts\CleanFarmBackup.ps1:8 char:12
+ [xml]$sp = gc $spbrtoc
+ CategoryInfo : PermissionDenied: (D:\Backup\Farm:String) [Get-Content], UnauthorizedAccessException
+ FullyQualifiedErrorId : GetContentReaderUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetContentCommand
Any ideas how to solve this?
"get-childitem D:\Backup\Farm -include *.xml" is, what you're looking for.
I think, there is an logical error ... in the delete script, you delete all (Full and Diff) Backups older 7 days. But if you delete the Full Backup, which still has differential Backups as "Children", a restore isn't possible.