本文出处:http://hi.baidu.com/nxbeyonder/blog/item/21546524f32ca321d40742e5.html
说windows博大精深,估计很多人都不以为然,今天倒不是讨论这个,只是就经常会用到的服务器管理脚本说一下,比如计划任务。
schtasks:
安排命令和程序,使其定期运行或在指定时间运行。向计划中添加任务和从中删除任务、根据需要启动和停止任务以及显示和更改计划的任务
1.create
Schtasks /create /sc ScheduleType /tn TaskName /tr TaskRun [/s Computer [/u [Domain/]User [/p Password]]] [/ru {[Domain/]User | System}] [/rp Password] [/mo Modifier] [/d Day[,Day...]| *] [/m Month[,Month...]][/i IdleTime] [/st StartTime] [/ri Interval] [{/et EndTime | /du Duration} [/k]] [/sd StartDate] [/ed EndDate] [/it] [/Z] [/F]
参数
/sc ScheduleType
指定计划类型。有效值为 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。
/tr 运行的任务,可以为可执行的命令、脚本或者程序
/mo Modifier
指定任务在其计划类型内的运行频率。此参数对于 MINUTE、HOURLY、DAILY、WEEKLY 或 MONTHLY 有效,但是可选的。默认值为 1。
/d Day[,Day...] | *
指定周或月的一天(或几天)。只对 WEEKLY 或 MONTHLY 计划有效。1-31/MON-SUN[,MON-SUN...]|*/MON-SUN
对于不同的sc
WEEKLY,则/mo 可以为1-52
MONTHLY,则/mo 可以为 FIRST,SECOND,THIRD,FOURTH,LAST或者{1-12},默认为1
/m 对于/sc 为monthly时有效, 值可以为JAN-DEC和*(每月),默认每月
/ri Interval
指定重复的时间间隔(以分钟计)。此参数不适用于以下计划类型:MINUTE、HOURLY、ONSTART、ONLOGON、ONIDLE。有效范围为 1 到 599940 分钟(599940 分钟 = 9999 小时)。如果指定了 /ET 或 /DU,则重复间隔默认为 10 分钟。
/du Duration
指定“分钟”或“小时”计划的最大时间长度,格式为 HHHH:MM 24 小时格式。指定的时间过去之后,Schtasks 不重新启动任务,直到启动时间再次到来。默认情况下,任务计划没有最大持续时间。该参数是可选的,并且仅对“分钟”或“小时”计划有效。
/k
在 /et 或 /du 指定的时间停止任务运行的程序。如果没有 /k,Schtasks 在到达 /et 或 /du 指定的时间之后不再启动程序,但它不会停止仍在运行的程序。该参数是可选的,并且仅对“分钟”或“小时”计划有效。
示例:
计划任务每天运行一次
下面的示例计划 MyApp 程序在每天的上午 8:00 运行一次,直到 2002 年 12 月 31 日结束。由于它忽略了 /mo 参数,因此使用默认间隔 1 来每天运行命令。
在此示例中,由于本地计算机系统在“控制面板”的“区域和语言选项”中设置为“中文(中国)”,因此结束日期的格式为 YYYY/MM/DD (2002/12/31)。
schtasks /create /tn "My App" /tr c:/apps/myapp.exe /sc daily /st 08:00 /ed 2002/12/31
计划任务每 20 分钟运行一次
下面的命令计划安全脚本 Sec.vbs 每 20 分钟运行一次。该命令使用 /sc 参数指定分钟计划,使用 /mo 参数指定时间间隔为 20 分钟。
由于该命令没有包含开始日期或时间,因此任务在命令完成 20 分钟后启动,此后在系统运行时每 20 分钟运行一次。请注意,安全脚本源文件位于远程计算机上,但任务在本地计算机上计划并执行。
schtasks /create /sc minute /mo 20 /tn "Security Script" /tr
//central/data/scripts/sec.vbs
计划任务每六周运行一次
下面的命令计划 MyApp 程序在远程计算机上每六周运行一次。该命令使用 /mo 参数来指定间隔。由于该命令忽略了 /d 参数,因此任务就在星期一运行。
该命令也使用 /s 参数指定远程计算机,并使用 /u 参数,以用户 Adiminsitrator 帐户的权限运行该命令。因为忽略了 /p 参数,所以 SchTasks.exe 会提示用户输入 Administrator 帐户密码。
另外,因为命令是远程运行的,所以命令中所有的路径,包括到 MyApp.exe 的路径,都是指远程计算机上的路径。
schtasks /create /tn "My App" /tr c:/apps/myapp.exe /sc weekly /mo 6 /s Server16 /u Admin01
计划任务每星期三运行一次
下面的命令计划 MyApp 程序在每周的星期三运行一次。该命令使用 /d 参数指定周的天。由于该命令忽略了 /mo 参数,因此任务每周运行一次。
schtasks /create /tn "My App" /tr c:/apps/myapp.exe /sc weekly /d WED
rem 计划任务
rem 将在线用户同步到数据库表中,从2006-01-28 23:00:00开始每2分钟运行一次,持续运行3个小时-即(2006-01-29 01:00:00),并在完成后删除(/z)
schtasks /create /sc DAILY /tn "onlineMember2db" /tr Z:/__task/ol2db.vbs /st 23:00 /sd 2006/01/28 /ri 2 /du 0003:00 /k /z /s localhost /u adminstrator /p mypassword
2.delete
schtasks delete
删除计划任务。
语法
schtasks /delete /tn {TaskName | *} [/f] [/s Computer [/u [Domain/]User [/p Password]]]
删除所有为本地计算机计划的任务。
下面的命令从本地计算机的计划中删除所有的任务,包括由其他用户计划的任务。它使用 /tn * 参数代表计算机上所有的任务,使用/f 参数取消确认消息。
schtasks /delete /tn * /f
从远程计算机上的计划中删除任务
下面的命令从远程计算机上的计划中删除“Start Mail”任务。它使用 /s 参数来标识远程计算机。
schtasks /delete /tn "Start Mail" /s Svr16
作为响应, SchTasks.exe 显示以下确认消息。要删除任务,请键入 y。要取消命令,请键入 n: