here are a lot of good scripts out there to use for backing up your SharePoint. This one is one of my favorites:
http://spfarmbackup.codeplex.com/
Just download it, unzip it, create a folder to store your backups, share that folder complete the Params.xml and you’re about ready to go!
Read this detailed instruction guide written by the scripts author for step-by-step instructions: http://www.darrenmarsden.com/file.axd?file=2013%2f1%2fPreparing+for+%26+Configuring+the+SharePoint+Farm+Backup+Script.pdf
Here is another, and probably the best script for backing up your SharePoint Farm. It is written by John Ferringer, a SharePoint Guru – http://gallery.technet.microsoft.com/scriptcenter/9b99c435-8831-4c9e-a70b-1f13158ef22a
If the Ferringer solution or the codeplex solution above seems a bit to daunting, you can copy and paste the powerhsell from this blog: http://bradcote.wordpress.com/2012/05/02/powershell-script-to-backup-site-collections/ into a .ps1 file and then set it up to run as a scheduled task using credentials that have Shell admin access and full control over the shared network location where the backups will be stored.
You’ll need to share a folder for the script to write into. Here is the powershell script from bradcote with a few additional notes
# Backup all site collections in the farm, placing them in # a directory on a shared location # Note - Does not backup the /train site collection # adds the SharePoint cmdlets to your powershell and effectively turns it into the SharePoint #Management Shell Add-PsSnapin Microsoft.SharePoint.PowerShell # Take care of the disposable objects to prevent memory leak. Start-SPAssignment -Global # This is the backup path - must be shared with account that is executing the script and the # farm account $backupLocation="\\\SharePointBackups" # Remove all that backup folders created > 7 days ago get-childitem $backupLocation | where {$_.Lastwritetime -lt (date).adddays(-7)} | remove-item -recurse -Confirm:$false # Get current date for use in log file and format it to avoid # invalid characters such as "/" and ":" $today=Get-Date -format "MM-dd-yyyy HH.mm.ss" # Create a folder in the backup location with todays date (sortable) $todayFolder = $backupLocation + '\' + $((get-date).toString('MM-dd-yyyy')) $logFile="$todayFolder\BackupLog.log" md $todayFolder # Does not backup the /train site collection # or the temporary web ap site collection on port 15702 # Disregard this, or use it, depending on whether you have a /train site collection, etc. foreach ($site in get-spsite -limit all | where-object -FilterScript {$_.url -notlike "*/train*"} | where-object -FilterScript {$_.url -notlike "*15702"}) { write-Host Start backing up $site to $todayFolder try { # Create a new backup file and name it based on current date. # If you want to create only 1 backup file and overwrite it # each time the backup is run, you can replace "$today.bak" # with your desired file name. $pathName = ($todayFolder + '\' + $($site.ID) + '.bak') write-Host 'Backing up ' $site ' GUID = ' $($site.ID) # This farm does not have Enterprise SQL Server, so snapshots # cannot be used. This requires that the sites belocked for # update during the backup, so this should be run after hours Backup-SPSite -Identity $site -Path $pathName -EV Err -EA "SilentlyContinue" write-Host Backup succeeded. # Write success message to the log file write "$today $site GUID = $($site.ID) successfully backed up.">>logFile } catch { write-Host Backup failed. See $logFile for more information. # Write error message to the log file # change the logFile to some other name if you want, e.g. BackupHistory.txt $e = $Err[0].ToString() write "$today $site Error: $e">>logFile } } Stop-SPAssignment -Global Remove-PsSnapin Microsoft.sharepoint.powershell write-Host "Finished script."
This blog has another script that you can use, also an easier to use version:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Make sure to update these variables:
#Variables $logfile = "SPFarm-Backup-" + $(Get-Date -Format dd-MM-yy) + ".log" $ConfigDB = "SP_Config" $DBServer = "server" $BackupConfigFolder = "\\server\SharePoint\Backup\Config" $BackupSAFolder = "\\server\SharePoint\Backup\ServiceApp" $AdminEmail = <a href="mailto:admin@sharepoint.com">admin@sharepoint.com</a> $MailServer = "mail.sharepoint.com" $FromAddress = <a href="mailto:sharepoint.notifications@sharepoint.com">sharepoint.notifications
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Microsoft TechNet – http://technet.microsoft.com/en-us/library/ee428316.aspx – Backing up a Farm in SharePoint 2013
Petri blog – backup and restore advice – Good Read http://www.petri.co.il/how-to-backup-restore-sharepoint-2013.htm
John Ferringer on backups – http://mycentraladmin.wordpress.com/2011/07/11/use-powershell-to-back-up-your-sharepoint-farm/
Microsoft’s scripting guy defers to John Ferringer – http://blogs.technet.com/b/heyscriptingguy/archive/2011/06/22/use-powershell-to-back-up-your-sharepoint-farm.aspx – same here
Cheers,
Stacy
You must be logged in to post a comment.