Windows2003服务器使用计划任务重新启动计算机
2009-02-01 10:20
  Win2003服务器一段时间后就需要重新启动,但每次通过远程手工重新启动比较麻烦,因此很多网管都是借助第三方软件来实现自动重启,其实我们只要运用系统本身的计划任务配合shutdown命令也可以巧妙地让服务器实现定时自动重新启动的功能。
  首先我们先建立一个批处理文件,命名为reboot.bat。以下是批处理文件详细内容:
  @echo off
  C:
  cd \C\Windows\system32\
  C:\WINDOWS\ /C "C:\WINDOWS\ -r"
也可以先建立一个命名为d的文件,具体内容如下:
  shutdown -r -t 30
电脑不能关机
  在计划任务中新建任务指向reboot.bat或则d,设定运行时间就可以实现定时重启计算机了,win2k3重启时需要填入重启原因的那个对话框可以忽略,不会造成影响,那个原因对话框也可以在策略中设置关掉。
  shutdown命令的语法
  shutdown [/i | /l | /s | /r | /a | /p | /h | /e] [/f] [/m \\ComputerName] [/t XXX] [/d [p:] XX:YY [/c "Comment"]]
  参数
  /i
  显示“远程关机对话框”。/i 选项必须是键入的第一个参数,之后的所有参数都将被忽略。
  /l
  立即注销当前用户,没有超时期限。不能将 /l 与 /m \\ComputerName 或 /t 一起使用。
  /s
  关闭计算机。
  /r
  关机后重新启动计算机。
  /a
  取消关机操作(仅在超时期限内有效)。a 参数仅可以与 /m \\ComputerName 一起使用。
  /p
  关闭本地计算机(不是远程计算机),没有超时或警告。/p 只能和 /d 一起使用。如果您的计算机不支持关闭电源功能,使用 /p 将关闭系统但不会切断您的计算机电源。
  /h
  使本地计算机处于休眠状态(如果已启用休眠)。仅可将 h 与 /f 一起使用。
  /e
  允许在目标计算机上记录意外关机原因。
  /f
  强制关闭正在运行的应用程序而不提前警告用户。
  警告
  使用 /f 选项可能导致未保存的数据丢失。
  /m \\ComputerName
  指定目标计算机。不能与 /l 选项一同使用。
  /t XXX
  将重新启动或关机前超时期限或延迟设置为 XXX 秒会使得在本地控制台显示一条警告信息。您可以指定的范围为 0 - 600 秒。如果省略 /t,则默认超时期限为 30 秒。
  /d [p:]XX:YY
  列出系统重新启动、关机或关闭电源的原因。下表描述了参数值。 值 描述
  p: 表示重新启动或关机是已计划的。如果不使用 /p 选项,关闭事件跟踪程序将认为重新启动或关机是没有计划的。
  XX 指定主要原因代码 (0-255)。
  YY 指定次要原因代码 (0-65535)。
  /c "
Comment"
  使您可以对关机原因做出详细注释。必须首先使用 /d 选项提供一个原因。必须将注释引在引号中。最多可以使用 127 个字符。
  /?
  在命令提示符下显示帮助,包括在本地计算机上定义的主要原因和次要原因的列表。只键入 shutdown 而不带任何参数也可以显示帮助。
  shutdown命令使用注意事项与应用实例
  必须为用户授予关闭系统的用户权力,该用户才能使用 shutdown 命令关闭本地或远程管理的计算机。详细信息,请参阅“相关主题”中的“访问控制概述”和“特权”。
  用户必须是 Administrators 组的成员才能对本地或远程管理的计算机的意外关机进行批注。如果目标计算机加入了域,则 Domain Admins 组的成员也能执行此过程。
  如果希望一次关闭多台计算机,可针对每台计算机使用脚本来调用 shutdown,或者可使用 shutdown /i 显示远程关机对话框。
  一旦指定了主要和次要原因代码,您必须首先为计划使用某种特定原因的每个计算机定义那些原因代码。如果目标计算机上没有定义原因代码,关闭事件跟踪程序将无法记录正确的原因文本。
  切记使用 p: 参数指出关机是计划关机。省略 p: 表示关机是非计划关机。如果在非计划关机的原因代码后键入 p:,命令不会执行关机。相反,如果省略 p: 并键入计划关机的原因代码,命令不会执行关机。
  示例
  要强制关机原因为“应用程序:维护(计划中)”且注释为“重新配置 ”的应用程序关闭并在 1 分钟延迟后重新启动本地计算机,请键入:
  shutdown /r /t 60 /c "" /f /d p:4:1
  要使用相同的参数重新启动远程计算机 \\ServerName,请键入:
  shutdown /r /m \\servername /t 60 /c "" /f /d p:4:1
  XP下面:
  在CMD下面输入:at 21:00 shutsown -s (在晚上9:00关闭计算机)
  2000下面:
  将XP系统里面WINDOWS\拷贝到2000系统WINNT\system32\目录下面,在CMD下面输入:at 21:00 shutsown -s .
  用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d :xx:yy]
  没有参数 显示此消息(与 ? 相同)
  -i 显示 GUI 界面,必须是第一个选项
  -l 注销(不能与选项 -m 一起使用)
  -s 关闭此计算机
  -r 关闭并重启动此计算机
  -a 放弃系统关机
  -m \\computername 远程计算机关机/重启动/放弃
  -t xx 设置关闭的超时为 xx 秒
  -c "comment" 关闭注释(最大 127 个字符)
  -f 强制运行的应用程序关闭而没有警告
  -d [u][p]:xx:yy 关闭原因代码
  u 是用户代码
  p 是一个计划的关闭代码
  xx
是一个主要原因代码(小于 256 的正整数)
  yy 是一个次要原因代码(小于 65536 的正整数)如你想在晚上23点关机 那么你建一个记事本 在里面输入 at 23:00 shutdown -s 然后保存 比如保存为11.TXT 然后把这个文件名改成11.bat。
Windows远程关机和shutdown命令双保服务器重启
文章分类:操作系统
我们在进行服务器远程维护时,经常需要进行远程关机、重启等操作,但是经常由于进程的异常退出导致服务器的出现假死现象,无法正常关机或重启,然后不得不得求助于机房人员协助硬重启,笔者在使用中,总结的经验是同时使用SHUTDOWN强制关机重启命令和开始菜单的关机重启命令,基本可以保障服务器快速重新启动起来,很少出过问题。
综合使用方法如下:
1、shutdown -r -f
2、“开始”菜单→“关闭计算机”→“重新启动”
两条命令同时运行,当然之前最好把一些重要的服务停止掉,比如数据库等防止丢失数据。第一条shutdown命令执行后会有个延迟,可以保证把未退出的程序咔嚓掉,如果单纯使用开始菜单的重启命令
进行远程重启,出现服务器无法正常关机的概率是相当大的,可以说是非常的不可靠,反而shutdown命令要更加可靠一些,但还是为了完全,笔者每次都是两条命令同时用,虽然麻烦一点但总比去机房人员协助要方便点,毕竟服务器也不是经常重启。这里顺便把shutdown命令的详尽用法做个介绍仅供参考。
一、shutdown命令的语法格式
用法:shutdown [-i/-l/-s/-r/-a][-f][-m \\computername][-t xx][-c "comment"][-d [u][p]:xx:yy]
各参数的含义为:
-i 显示 GUI(图形用户界面)对话框,必须是第一个选项;
-l 注销当前用户(默认设置会注销当前用户) (不能与选项 -m 一起使用);
-s 关闭此计算机;
-r 关闭并立即重启此计算机;
-a 放弃系统关机,除了-l和ComputerName外,系统将忽略其他参数。在超时期间,你只能使用-a;
-
f 强制运行的应用程序关闭而没有警告;
-m \\computername 指定远程计算机关闭/重启动/放弃(不指定默认为本机);
-t xx 设置关闭的超时为 xx 秒(将用于系统关闭的定时器设置为XX秒,默认是20秒);
-c "comment" 指定将在“系统关闭”窗口中的“消息”区域显示消息,最多可以使用127个字符;
-d [u][p]:xx:yy列出系统关闭的原因代码,为系统关机日志记录使用;
u  是用户代码
p  是一个计划的关闭代码
xx  是一个主要原因代码(小于 256 的正整数)
yy  是一个次要原因代码(小于 65536 的正整数)
、shutdown命令使用实例
1、shutdown -r -f
该命令为要求计算机马上强制关闭任何应用程序,并重新启动计算机。如果不需要重启,则只需要把-r改为-s即可,如果需要延迟一段时间只需要加上-t XXX,加上时间延迟相当于预设置命令,在系统某些任务暂未运行完毕的情况下很有用,比如下载完成,程序运行等。
2、关闭远程计算机
使用参数-m[\\ComputerName]可指定将要关闭或重启的远程计算机名称(不设置或为空则默认对本机操作)
shutdown -s -m \\remotewin -t 45
上述命令为在45秒内关闭局域网内计算机名为remotewin的计算机,如果返回“ACCESS IS DENIDED”的提示,说明您没有权限关闭远程计算机。需要设置WINDOWS的安全策略或被授权远程关闭计算机。
3、以对话框界面执行关机命令
只需要在上述关机命令中添加一个“-i”参数即可
4)取消关机命令
执行上述的关机命令后,如感到后悔并想赶紧取消关机,请马上输入命令:shutdown -a,即可立即取消上述有关关机操作,当然前提关机命令设置的关机时间仍未到,如果计算机进入关机状态或原设置的关机命令是立即关机则已无力回天,取消关机是无法生效的。
三、补充:
1、在我们设置重启之后,大家自己可以总结自己远程计算机的实际重启时间,直到可以远程登录,对于维护服务器时间紧迫性很重要,一般是3-4分钟,这个时间会受到“自检”、“启动运行软件比如GHOST等”、“启动菜单延迟等待,比如双启系统或一键还原的默认的等待时间”等影响,如果超过自己预感的时间限制,比如半个小时等,那计算机也太有点不够意思了,只能寻求机房人员协助摆平了。
2、SHUTDOWN远程关机是需要权限的,在gpedit.msc组策略编辑器打开“计算机配置——Windows设置——安全设置——本地策略——用户权利指派”,在右边的窗口选择“从远端系统强制关机”进行设置或权限指派。