Sunday, October 7, 2012

Automating SharePoint site backup using PowerShell and windows Task Scheduler

Automating SharePoint site backup using PowerShell and windows Task Scheduler

Task Scheduler
In the Part 1 we created the script which will take the backup of a site collection and will store it in new folder based on the current date. This script has been saved as .ps1 (PowerShell script) file. Now we want this script to run every day at 10:00 PM when I am taking rest at home. This automation can be achieved easily by windows task scheduler.

How to use windows scheduler to automate the Backup on a daily basis

a) First load the Task Scheduler from Start >> All Programs >> Accessories >> System    Tool>> Task Scheduler. I am using the version which ships with windows server 2008 R2 edition, but the   concept should be same for other release.

b) To create a new Task, click Create Task from the right hand side “Actions Panel”.

c) This will open a Create Task window which will have first tab as General; here we need to provide the following basic information.

    General Tab

  1. Name of the Task like “SharePoint Backup”. A Description which is not mandatory
  2. Select the User Account under which the following task will run. Ensure that the user account has the necessary permissions to use the PowerShell on the SharePoint farm, permission to perform script action on the SharePoint.
  3. Select Run whether the user is logged in or not and tick the Do not store password checkbox. This is necessary because at the time of backup being taken you may not be logged in.
  4. Also enable the Run with highest privileges option. I would recommend testing the script from Task Scheduler with the option disabled and only enable if the script does not work without it.

d)  In the “Triggers Tab
  1. Click New and in the “New Trigger”
  2. In “Begin the Task” dropdown select “On a Schedule”
  3. Under Setting radio button choose “Daily” also choose the time at 10:00 PM (according to your wish).
  4. Don’t change advanced settings for now.

e)  In the “Actions Tab
  1. Click “New” in the Actions Tab.
  2. In the “New Action” window ensure the “action” is set to Start a program.
  3. Under settings Program/Script write “Powershell.exe”
  4. In Add Arguments (optional) type &'d:\Backup-SiteCollections.ps1'. Note: Wrapping the file path and name in single quotation marks allows you to specify spaces in the text.

You should now see your script in the Task Scheduler Library (if not, click Refresh in the right-hand panel). To test the script, highlight it in the console and click Run from the right-hand panel.

No comments:

Post a Comment