Learn more about SQL Server tools

mssqltips logo
 

Tutorials          DBA          Dev          BI          Career          Categories          Webcasts          Whitepapers          Today's Tip          Join

Tutorials      DBA      Dev      BI      Categories      Webcasts

DBA    Dev    BI    Categories

 

Using the Windows Scheduler to run a SharePoint PowerShell Backup Script


By:   |   Read Comments   |   Related Tips: > Sharepoint

Attend this free live MSSQLTips webcast

Tips and Tricks to Growing Your SQL Server Estate from SMB to Enterprise Scale
Thursday, June 28, 2018 - click here to learn more


Problem

SharePoint administrators need to run regular backups using PowerShell, the STSADM tool or in Central Administration. There is no "built in" way to automate these backups. Wouldn't it be great to devise a method to automated these jobs?

Solution

The solution is just to create a batch file that can execute a PowerShell script, and then launch it from the Windows Task Scheduler.

PowerShell Command to Backup SharePoint Site Collection

backup-spsite -identity http://SPFarm:20045/ -path C:\Backup\Backup.bak

OR

backup-spsite -identity http://SPFarm:20045/ -path C:\Backup\Backup.bak -force
//Note: use force to overwrite existing file

So, you can use the backup-spsite command to do site backup (the example shows http://SPFarm:20045/). The following script will start a full backup to C:\backup where you can send a site collection URL and backup file name as a parameter to the PowerShell Script.

$args[0] = http://SPFarm:20045/ [Source site location URL]
$args[1] = C:\backup\backup_site.bak [Destination path]

Step 1: Create Windows PowerShell script

Add-PSSnapin Microsoft.SharePoint.PowerShell
backup-spsite -identity $args[0] -path $args[1] -force

(You could) save it as C:\Scripts\BackupSPSite.ps1 - - (Windows PowerShell script files are .ps1 files.) Now you have to call this script from batch file.

Step 2: Create Batch Script to execute PowerShell script

@echo off
SET SOURCE_SITE=http://SPFarm:20045/
SET DEST=C:\backup\Backup_site.bak
echo "backup Started at" %DATE% >> C:\ backup\Log.txt
powershell -command C:\Scripts\BackupSPSite.ps1  %SOURCE_SITE% %DEST%
echo "Backup completed successfully at %DEST%" on %DATE% >> C:\ backup\Log.txt
@echo on

Save it as C:\Scripts\BackupSPSite.bat. Now you have to run this script.

Step 3: Run Batch Script to execute PowerShell script

So now you can automate your daily backup of a SharePoint Site. You can also run an entire Farm backup just by using the following command in a PowerShell Script (i.e. C:\Scripts\BackupSPSite.ps1)

Backup-SPFarm -Directory C:\Backup -BackupMethod full
Next Steps
  • Download the complete script from here.
  • Modify the script for your source site and backup location.


Last Update:


next webcast button


next tip button



About the author





Post a comment or let the author know this tip helped.

All comments are reviewed, so stay on subject or we may delete your comment. Note: your email address is not published. Required fields are marked with an asterisk (*).

*Name    *Email    Email me updates 


Signup for our newsletter
 I agree by submitting my data to receive communications, account updates and/or special offers about SQL Server from MSSQLTips and/or its Sponsors. I have read the privacy statement and understand I may unsubscribe at any time.



    



Learn more about SQL Server tools