von http://blogs.technet.com/b/filecab/archive/2009/04/13/customizing-windows-server-backup-schedule.aspx:
Windows Server Backup (WSB) is the built-in backup solution for Windows Server 2008 that replaces the venerable NT Backup from Windows Server 2003 and before. WSB protects the files and the server os/application binaries within itself as a single-server solution. To consolidate protection across multiple servers or applications like SQL Server, Exchange, SharePoint or Hyper-V, then Microsoft would recommend looking at System Center Data Protection Manager (DPM).
By design, WSB ensures that you have recent backups by performing its local backup operations at least once per day. While this is good and recommended there may be reasons specific to your environment where you may want to take backups at a lesser frequency or have multiple backup schedules (e.g. daily and weekly). For example, you may want to backup your files every day, while backing up the system state at lesser frequency say once a week.
You can extend the functionality of Windows Server Backup to meet all these advanced needs through simple scripts that uses Windows Server Backup Command Line Tool (WBADMIN) and the Windows Task Scheduler (SCHTASKS).
If you are not aware of Task Scheduler, it is a a management application provided in Windows operating systems that allows you to schedule any task for a given set of conditions. Task Scheduler also provides a command line interface (CLI) through the command SCHTASKS.
Samples
The samples here assume the following configuration of the system:
- A single disk containing system drive (C:),
- Two data volumes (D: and E:)
- Dedicated backup volumes (H:, I: and J:).
These volume names and parameters are used as boldface in the samples below. Readers can customize them as per their requirements.
Sample 1: Daily Data Volume Backup
The following command will create a Task Scheduler task named DailyVolumeBackup with the start time of 23:00. This task will run DAILY with the HIGHEST privileges. It will run the Windows Server Backup CLI to backup volume E: to target volume H:.
Syntax:
SCHTASKS /Create /SC DAILY /TN <TaskName> /RL HIGHEST /ST <StartTime> /TR <Windows Server Backup Command>
Example:
SCHTASKS /Create /SC DAILY /TN DailyVolumeBackup /RL HIGHEST /ST 23:00 /TR «WBADMIN START BACKUP -backupTarget:H: -include:e: -quiet >> C:\backupLogs.txt»
Sample 2 : Weekly Backup of System State
The following command will create a Task Scheduler task named WeeklySystemStateBackup that runs every Saturday (SAT) at 19:00. This task will run WEEKLY with the HIGHEST privileges. It will run the Windows Server Backup CLI to backup SYSTEMSTATEBACKUP to target volume I:.
Syntax:
SCHTASKS /Create /SC WEEKLY /D <Day Of Week> /TN <TaskName> /RL HIGHEST /ST <StartTime> /TR <Windows Server Backup Command>
Example:
SCHTASKS /Create /SC WEEKLY /D SAT /TN WeeklySystemStateBackup /RL HIGHEST /ST 19:00 /TR «WBADMIN START SYSTEMSTATEBACKUP -backupTarget:I: -quiet >> C:\backupLogs.txt «
Sample 3 : Complete System Backup Once in Two Weeks
The following command will create a Task Scheduler task named OnceInTwoWeeksFullBackup that runs every Sunday (SUN) at 1:00 once every 2 weeks. This task will run WEEKLY with the HIGHEST privileges. It will run the Windows Server Backup CLI to backup allCritical volumes to target volume J:.
Syntax:
SCHTASKS /Create /SC WEEKLY /MO <WeekFrequency Modifier> /D <Day Of Week> /TN <TaskName> /RL HIGHEST /ST <StartTime> /TR <Windows Server Backup Command>
Example:
SCHTASKS /Create /SC WEEKLY /MO 2 /D SUN /TN OnceInTwoWeeksFullBackup /RL HIGHEST /ST 01:00 /TR «WBADMIN START BACKUP -backupTarget:J: -allCritical -quiet >> C:\backupLogs.txt «
Notes:
- Above tasks needs to be ran with highest privileges as Windows Sever Backup requires administrative privileges to run. If you are using “Task Scheduler” UI to configure the jobs make sure you use the «[ ] Run with highest priviledges» UI option in the security options of the task.
- Since WBADMIN command will fail if any other backup job is already running, ensure that the backup jobs are scheduled with a sufficiently long time interval between two jobs.
- Backups scheduled using windows scheduler (SCHTASKS) will not appear in the Windows Server Backup application user interface.
- You can use a network location (i.e. \\servername\foldername) as a backup target in above commands. However, network backups will save only the latest version of the backup, deleting the previous version, as multiple versions on the network share are not supported.
- You can use other WBADMIN CLI options to customize the backup, such as the option vssFull. Please see Windows Server Backup CLI for more details on CLI options.
- You can use Task Scheduler advance functions like setup additional tasks to run before/after the above jobs. Example of the pre-tasks are disabling an antivirus, closing a service etc. Example of the post-tasks are upload the logs, send an email etc.
- Since command line interface is interactive in nature and give error/completion information in the console itself, output of all the above invocation should be directed to a log file so that it can be referred in case of any error while running the backup.
- For optimal storage space utilization on the backup target you can modify the VSS shadow storage using the following command:
vssadmin resize shadowstorage /for=<BackupTarget> /on=<BackupTarget> /maxsize=UNBOUNDED
For example:
vssadmin resize shadowstorage /for=H: /on=H: /maxsize=UNBOUNDED
und von http://www.robvanderwoude.com/schtasks.php :
Command line front-end for Windows› Task Scheduler
Note: | This page shows the command line options for the Windows 7 version of SCHTASKS .Click here for the Windows XP version of SCHTASKS .Click |
Syntax:
SCHTASKS | /parameter [arguments] |
Description:
Enables an administrator to create, delete, query, change, run and end scheduled tasks on a local or remote system.
Parameter List:
/Create | Creates a new scheduled task. |
/Delete | Deletes the scheduled task(s). |
/Query | Displays all scheduled tasks. |
/Change | Changes the properties of scheduled task. |
/Run | Runs the scheduled task immediately. |
/End | Stops the currently running scheduled task. |
/ShowSid | Shows the security identifier corresponding to a scheduled task name. |
/? | Displays this help/usage. |
Examples:
SCHTASKS | |
SCHTASKS | /? |
SCHTASKS | /Run /? |
SCHTASKS | /End /? |
SCHTASKS | /Create /? |
SCHTASKS | /Delete /? |
SCHTASKS | /Query /? |
SCHTASKS | /Change /? |
SCHTASKS | /ShowSid /? |
/RUN
SCHTASKS | /Run [/S system [/U username [/P [password]]]] [/I] /TN taskname |
Description:
Runs a scheduled task immediately.
Parameter List:
/S system | Specifies the remote system to connect to. |
/U username | Specifies the user context under which the schtasks.exe should execute. |
/P [password] | Specifies the password for the given user context. Prompts for input if omitted. |
/I | Runs the task immediately by ignoring any constraint. |
/TN taskname | Identifies the scheduled task to run now. |
/? | Displays this help message. |
Examples:
SCHTASKS | /Run /? |
SCHTASKS | /Run /TN «Start Backup» |
SCHTASKS | /Run /S system /U user /P password /I /TN «Backup and Restore» |
/END
SCHTASKS | /End [/S system [/U username [/P [password]]]] /TN taskname |
Description:
Stops a running scheduled task.
Parameter List:
/S system | Specifies the remote system to connect to. |
/U username | Specifies the user context under which the schtasks.exe should execute. |
/P [password] | Specifies the password for the given user context. Prompts for input if omitted. |
/TN taskname | Specifies the scheduled task to terminate. |
/? | Displays this help/usage. |
Examples:
SCHTASKS | /End /? |
SCHTASKS | /End /TN «Start Backup» |
SCHTASKS | /End /S system /U user /P password /TN «Backup and Restore» |
/CREATE
SCHTASKS | /Create [/S system [/U username [/P [password]]]] [/RU username [/RP [password]]] /SC schedule [/MO modifier] [/D day] [/I idletime] /TN taskname /TR taskrun [/ST starttime] [/M months] [/SD startdate] [/RI interval] [ {/ET endtime | /DU duration} [/K] [/XML xmlfile] [/V1]] [/SD startdate] [/ED enddate] [/IT | /NP] [/Z] [/F] |
Description:
Enables an administrator to create scheduled tasks on a local or remote systems.
Parameter List:
/S system | Specifies the remote system to connect to. If omitted the system parameter defaults to the local system. |
/U username | Specifies the user context under which the schtasks.exe should execute. |
/P [password] | Specifies the password for the given user context. Prompts for input if omitted. |
/RU username | Specifies the «run as» user account (user context) under which the task runs. For the system account, valid values are «», «NT AUTHORITY\SYSTEM» or «SYSTEM». For v2 tasks, «NT AUTHORITY\LOCALSERVICE» and «NT AUTHORITY\NETWORKSERVICE» are also available as well as the well known SIDs for all three. |
/RP [password] | Specifies the password for the «run as» user. To prompt for the password, the value must be either «*» or none. This password is ignored for the system account. Must be combined with either /RU or /XML switch. |
/SC schedule | Specifies the schedule frequency. Valid schedule types: MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT. |
/MO modifier | Refines the schedule type to allow finer control over schedule recurrence. Valid values are listed in the «Modifiers» section below. |
/D days | Specifies the day of the week to run the task. Valid values: MON, TUE, WED, THU, FRI, SAT, SUN and for MONTHLY schedules 1 – 31 (days of the month). Wildcard «*» specifies all days. |
/M months | Specifies month(s) of the year. Defaults to the first day of the month. Valid values: JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC. Wildcard «*» specifies all months. |
/I idletime | Specifies the amount of idle time to wait before running a scheduled ONIDLE task. Valid range: 1 – 999 minutes. |
/TN taskname | Specifies a name which uniquely identifies this scheduled task. |
/TR taskrun | Specifies the path and file name of the program to be run at the scheduled time. Example: C:\windows\system32\calc.exe |
/ST starttime | Specifies the time to run the task. The time format is HH:MM:SS (24 hour time) for example, 14:30:00 for 2:30 PM. Defaults to current time if /ST is not specified.This option is required with /SC ONCE . |
/SD startdate | Specifies the first date on which the task runs. The format is «dd/mm/yyyy». |
/RI interval | Specifies the repetition interval in minutes. This is not applicable for schedule types: MINUTE, HOURLY, ONSTART, ONLOGON, ONIDLE, ONEVENT. Valid range: 1 – 599940 minutes. If either /ET or /DU is specified, then it defaults to 10 minutes. |
/ET endtime | Specifies the end time to run the task. The time format is HH:mm (24 hour time) for example, 14:50 for 2:50 PM. This is not applicable for schedule types: ONSTART, ONLOGON, ONIDLE, ONEVENT. |
/DU duration | Specifies the duration to run the task. The time format is HH:mm. This is not applicable with /ET and for schedule types: ONSTART, ONLOGON, ONIDLE, ONEVENT. For /V1 tasks, if /RI is specified, duration defaults to 1 hour. |
/K | Terminates the task at the endtime or duration time. This is not applicable for schedule types: ONSTART, ONLOGON, ONIDLE, ONEVENT. Either /ET or /DU must be specified. |
/SD startdate | Specifies the first date on which the task runs. The format is dd/mm/yyyy. Defaults to the current date. This is not applicable for schedule types: ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT. |
/ED enddate | Specifies the last date when the task should run. The format is «dd/mm/yyyy». |
/EC ChannelName | Specifies the event channel for OnEvent triggers. |
/IT | Enables the task to run interactively only if the /RU user is currently logged on at the time the job runs. This task runs only if the user is logged in. |
/NP | No password is stored. The task runs non-interactively as the given user. Only local resources are available. |
/Z | Marks the task for deletion after its final run. |
/XML xmlfile | Creates a task from the task XML specified in a file. Can be combined with /RU and /RP switches, or with /RP alone, when task XML already contains the principal. |
/V1 | Creates a task visible to pre-Vista platforms. Not compatible with /XML. |
/F | Forcefully creates the task and suppresses warnings if the specified task already exists. |
/RL level | Sets the Run Level for the job. Valid values are LIMITED and HIGHEST. The default is LIMITED. |
/DELAY delaytime | Specifies the wait time to delay the running of the task after the trigger is fired. The time format is mmmm:ss. This option is only valid for schedule types ONSTART, ONLOGON, ONEVENT. |
/? | Displays this help/usage. |
Modifiers:
Valid values for the /MO
switch per schedule type:
MINUTE: | 1 – 1439 minutes. | |
HOURLY: | 1 – 23 hours. | |
DAILY: | 1 – 365 days. | |
WEEKLY: | weeks 1 – 52. | |
ONCE: | No modifiers. | |
ONSTART: | No modifiers. | |
ONLOGON: | No modifiers. | |
ONIDLE: | No modifiers. | |
MONTHLY: | 1 – 12, or FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY. | |
ONEVENT: | XPath event query string. |
Examples:
Creates a scheduled task «doc» on the remote machine «ABC» which runs notepad.exe every hour under user «runasuser». | |
SCHTASKS | /Create /S ABC /U user /P password /RU runasuser /RP runaspassword /SC HOURLY /TN doc /TR notepad |
Creates a scheduled task «accountant» on the remote machine «ABC» to run calc.exe every five minutes from the specified start time to end time between the start date and end date. | |
SCHTASKS | /Create /S ABC /U domain\user /P password /SC MINUTE /MO 5 /TN accountant /TR calc.exe /ST 12:00 /ET 14:00 /SD 06/06/2006 /ED 06/06/2006 /RU runasuser /RP userpassword |
Creates a scheduled task «gametime» to run freecell on the first Sunday of every month. | |
SCHTASKS | /Create /SC MONTHLY /MO first /D SUN /TN gametime /TR c:\windows\system32\freecell |
Creates a scheduled task «report» on remote machine «ABC» to run notepad.exe every week. | |
SCHTASKS | /Create /S ABC /U user /P password /RU runasuser /RP runaspassword /SC WEEKLY /TN report /TR notepad.exe |
Creates a scheduled task «logtracker» on remote machine «ABC» to run notepad.exe every five minutes starting from the specified start time with no end time. The /RP password will be prompted for. |
|
SCHTASKS | /Create /S ABC /U domain\user /P password /SC MINUTE /MO 5 /TN logtracker /TR c:\windows\system32\notepad.exe /ST 18:30 /RU runasuser /RP |
Creates a scheduled task «gaming» to run freecell.exe starting at 12:00 and automatically terminating at 14:00 hours every day | |
SCHTASKS | /Create /SC DAILY /TN gaming /TR c:\freecell /ST 12:00 /ET 14:00 /K |
Creates a scheduled task «EventLog» to run wevtvwr.msc starting whenever event 101 is published in the System channel | |
SCHTASKS | /Create /TN EventLog /TR wevtvwr.msc /SC ONEVENT /EC System /MO *[System/EventID=101] |
Spaces in file paths can be used by using two sets of quotes, one set for CMD.EXE and one for SCHTASKS.EXE. The outer quotes for CMD need to be double quotes; the inner quotes can be single quotes or escaped double quotes: |
|
SCHTASKS | /Create /TR «‹C:\Program Files\Internet Explorer\iexplorer.exe› \»C:\Log Data\today.xml\»» … |
/DELETE
SCHTASKS | /Delete [/S system [/U username [/P [password]]]] /TN taskname [/F] |
Description:
Deletes one or more scheduled tasks.
Parameter List:
/S system | Specifies the remote system to connect to. |
/U username | Specifies the user context under which the schtasks.exe should execute. |
/P [password] | Specifies the password for the given user context. Prompts for input if omitted. |
/TN taskname | Specifies the name of the scheduled task to delete. Wildcard «*» may be used to delete all tasks. |
/F | Forcefully deletes the task and suppresses warnings if the specified task is currently running. |
/? | Displays this help/usage. |
Examples:
SCHTASKS | /Delete /TN * /F |
SCHTASKS | /Delete /TN «Backup and Restore» |
SCHTASKS | /Delete /S system /U user /P password /TN «Start Restore» |
SCHTASKS | /Delete /S system /U user /P password /TN «Start Backup» /F |
/QUERY
SCHTASKS | /Query [/S system [/U username [/P [password]]]] [/FO format | /XML [xml_type]] [/NH] [/V] [/TN taskname] [/?] |
Description:
Enables an administrator to display the scheduled tasks on the local or remote system.
Parameter List:
/S system | Specifies the remote system to connect to. |
/U username | Specifies the user context under which the schtasks.exe should execute. |
/P [password] | Specifies the password for the given user context. Prompts for input if omitted. |
/FO format | Specifies the output format to be displayed. Valid values: TABLE, LIST, CSV. |
/NH | Specifies that the column header should not be displayed in the output. Valid only for TABLE and CSV formats. |
/V | Specifies additional output to be displayed. |
/TN taskname | Specifies the task name for which to retrieve the information, else all of them. |
/XML [xml_type] | Displays task definitions in XML format. If xml_type is ONE then the output will be one valid XML file. If xml_type is not present then the output will be the concatenation of all XML task definitions. |
/? | Displays this help/usage. |
Examples:
SCHTASKS | /Query |
SCHTASKS | /Query /? |
SCHTASKS | /Query /S system /U user /P password |
SCHTASKS | /Query /FO LIST /V /S system /U user /P password |
SCHTASKS | /Query /FO TABLE /NH /V |
/CHANGE
SCHTASKS | /Change [/S system [/U username [/P [password]]]] /TN taskname { [/RU runasuser] [/RP runaspassword] [/TR taskrun] [/ST starttime] [/RI interval] [ { /ET endtime | /DU duration } [/K] ] [/SD startdate] [/ED enddate] [/ENABLE | /DISABLE] [/IT] [/Z] } |
Description:
Changes the program to run, or user account and password used by a scheduled task.
Parameter List:
/S system | Specifies the remote system to connect to. |
/U username | Specifies the user context under which the schtasks.exe should execute. |
/P [password] | Specifies the password for the given user context. Prompts for input if omitted. |
/RU username | Changes the user name (user context) under which the scheduled task has to run. For the system account, valid values are «», «NT AUTHORITY\SYSTEM» or «SYSTEM». |
/RP password | Specifies a new password for the existing user context or the password for a new user account. Password will not effect for the system account. |
/TR taskrun | Specifies a new program that the scheduled task runs. Type the path and file name of the program. |
/TN taskname | Specifies which scheduled task to change. |
/ST starttime | Specifies the start time to run the task. The time format is HH:mm (24 hour time) for example, 14:30 for 2:30 PM. |
/RI interval | Specifies the repetition interval in minutes. Valid range: 1 – 599940 minutes. |
/ET endtime | Specifies the end time to run the task. The time format is HH:mm (24 hour time) for example, 14:50 for 2:50 PM. |
/DU duration | Specifies the duration to run the task. The time format is HH:mm. This is not applicable with /ET. |
/K | Terminates the task at the endtime or duration time. |
/SD startdate | Specifies the first date on which the task runs. The format is dd/mm/yyyy. |
/ED enddate | Specifies the last date when the task should run. The format is dd/mm/yyyy. |
/IT | Enables the task to run interactively only if the /RU user is currently logged on at the time the job runs. This task runs only if the user is logged in. |
/RL level | Sets the Run Level for the job. Valid values are LIMITED and HIGHEST. The default is to not change it. |
/ENABLE | Enables the scheduled task. |
/DISABLE | Disables the scheduled task. |
/Z | Marks the task for deletion after its final run. |
/DELAY delaytime | Specifies the wait time to delay the running of the task after the trigger is fired. The time format is mmmm:ss. This option is only valid for schedule types ONSTART, ONLOGON, ONEVENT. |
/? | Displays this help/usage. |
Examples:
SCHTASKS | /Change /RP password /TN «Backup and Restore» |
SCHTASKS | /Change /TR restore.exe /TN «Start Restore» |
SCHTASKS | /Change /S system /U user /P password /RU newuser /TN «Start Backup» /IT |
/SHOWSID
SCHTASKS | /ShowSid /TN taskname |
Description:
Shows the SID for the task’s dedicated user.
Parameter List:
/TN taskname | Specifies the scheduled task name. Dashes are not allowed in the name. |
/? | Displays this help/usage. |
Examples:
SCHTASKS | /ShowSid /? |
SCHTASKS | /ShowSid /TN «\Microsoft\Windows\RAC\RACTask» |