常用的DOS命令
最近工作中经常遇到一些windows服务停止 IIS运用池停 网站停止问题 ,导致这问题产生原因无奇不有 (1)服务器资源不够 (2)遭攻击时CPU 内存爆满 。。。真让人伤脑 最痛苦的是问题发生后别的非常被动 就一直想如何将这些问题给监控起来 变的主动一点 ,最近了解一些DOS命令方实现服务监控 今天就和大家一起分享哈:
一、查看windows服务信息
SC命令能与“服务控制器”和已安装设备进行通讯。SC 是用于与服务控制管理器和服务进行通信的命令行程序。1、SC可以 检索和设置有关服务的控制信息。可以使用 SC.exe 来测试和调试服务程序。
2、可以设置存储在注册表中的服务属性,以控制如何在启动时启动服务应用程序,以及如何将其作为后台程序运行。即更改服务的启动状态。
3、SC 命令还可以用来删除系统中的无用的服务。
4、SC命令 的参数可以配置指定的服务,检索当前服务的状态,也可以停止和启动服务
5、可以创建批处理文件来调用不同的 SC 命令,以自动启动或关闭服务序列。SC命令不能单独使用,必须和其它的命令结合起来一起使用。一共有24个
sc boot sc config sc continue sc control sc create sc delete sc descrīption sc enumdepend
sc failure sc getdisplayname sc getkeyname sc interrogate sc lock sc pause sc qc
sc qdescrīption sc qfailure sc query sc queryex sc querylock sc sdset sc sdshow
sc start sc stop
(1)查询所有服务状态
sc query
(2)查询单个服务状态
sc query “服务名称”
(3)重启服务
sc start "服务名称"
(4)关闭服务
sc stop "服务名称"
二、查看IIS 程序池 网站状态信息
appcmd命令详解
IIS 命令行管理工具基本格式:APPCMD (命令) (对象类型) <标识符> </参数1:值1 ...>
支持的对象类型:
对象名称 | 描述 |
site | 管理虚拟网站 |
app | 管理应用程序 |
vdir | 管理虚拟目录 |
appool | 管理应用程序池 |
config | 挂历通用配置文件 |
wp | 挂历工作进程 |
request | 管理http请求 |
module | 管理服务器模块 |
backup | 管理服务器配置备份 |
trace | 管理失效请求跟踪日志 |
(1)查看程序池信息
(2)开启程序池
c:\\windows\System32\inetsrv\appcmd start apppool /apppool.name:“服务名称”
(3)关闭程序池
c:\\windows\System32\inetsrv\appcmd stop apppool /apppool.name:“服务名称”
(4)回收程序池【一定是运用中的程序池方可回收】
c:\\windows\System32\inetsrv\appcmd recycle apppool /apppool.name:“服务名称”
(5)查看网站信息
appcmd list site
(6)停止网站
appcmd stop site “网站名称"
(7)启动网站
appcmd start site “网站名称"
(8)常用命令如下
列出一个对象所有实例
列出独一无二的对象实例
appcmd.exe list app "Default Web Site/"
列出满足一定准则的对象实例
appcmd.exe list app /apppool.name:"defaultapppool"
列出对象的详细信息
appcmd.exe list app "default web site/"/text:*
列出所有XXX应用程序池的应用程序
appcmd.exe list app /text:/apppool.name:XXX
列出网站的配置信息
appcmd.exe list site "default web site "/config
更换应用程序池
appcmd.exe set app "default web site/" /applicationpool:"XXX"
添加新的应用程序池
appcmd.exe add apppool /name:"XXX"
删除应用程序池
appcmd.exe delete apppool /apppool.name:"XXX"
列出所有的应用程序池的详细信息
appcmd.exe list apppool
查询所有应用程序池状态为started的
appcmd.exe list apppools /state:started
关闭指定应用程序池
appcmd.exe stop appPool /appPool.name:"XXX"
开启指定应用程序池
appcmd.exe start apppool /apppool.name:"XXX"
监视当前的请求
appcmd.exe list request
request对象可以使用属性来找到特定的信息,通过使用属性,可以返回摸个运行时间(以毫秒计算)超过预设值的网站、应用程序池、工作进程、URL, 以及请求的信息。request对象所使用的属性包括:
基于网站ID的请求
appcmd.exe list request /site.id:1
基于应用程序池的请求
appcmd.exe list request /apppool.exe:DefaultAppPool
基于工作进程的请求
appcmd.exe list request /wp.name:"1044"
基于网站名称的请求
appcmd.exe list request /site.name:"Default web Site"
基于进程运行时间的请求
appcmd.exe list request /elapsed:"1000"
站点备份与恢复
备份站点:
appcmd.exe add backup backupname
列出备份:
appcmd.exe list backup
恢复备份
在恢复一个备份时,IIS停止运行,并且重写服务器的状态。一旦配置文件被重写,IIS随即重新启动。如果不希望IIS停止运行并重新启动,那么可以是使用/stop:false。这样,就可以在合适的时间手动停止IIS运行,并手动重新启动IIS
appcmd.exe restore backup /back.name:"XXX" /stop:false
appcmd.exe restore backup /backup.name:"XXX"
删除备份
appcmd.exe relete backup XXX
列出服务器的整体配置信息
appcmd.exe list config
列出默认Web网站的配置
appcmd.exe list config "Default Web Site/"
当需要显示默认web网站的配置内容时,为了减少显示内容,可以执行
appcmd.exe list config "Defaul Web Site/" /section:system.net/settings
获取所有可用节点
appcmd.exe list config -section:?
编辑配置节点信息
eg1: 启用全局IPv6
appcmd.exe set config /section:system.net/settings -ipv6.enabled:"true"
eg2:在全局配置中启用了IPv6,现在要在默认的web中引用IPv6
appcmd.exe set config "http://localhost" /section:system.net/settings -ipv6.enabe:"false"
列出节点集合
appcmd.exe list config /section:httpErrors
编辑节点集合
eg:把401错误页面有"401。htm"修改为"defaulterror.htm"
通过使用加号(+)或者一个减号(-)添加 活删除元素
删除503状态码
appcmd.exe set config /section:httpErrors /-[statusCode='503']
appcmd.exe set config /section:httpErrors / [statusCode='401'].path:defaulterror.htm
对配置进行加锁和解锁
解锁:
appcmd.exe unlock config "default web site" /section:system.web/authentication
加锁:
appcmd.exe lock config "default web site" /section:system.web/authentication
使用管道传送XML数据
可以在appcmd list 中使用/xml修饰符来创建复杂的任务,还可以执行大规模的批处理工作。利用/xml修饰符,可以讲一个查询的结果导出并保存到一个标准XML格式的文件中,从而使其他命令行工具或者shell命令可以使用这个XML文件。例如,为了列出所有已启用的应用程序池,并将信息保存到一个标准的XML文件中,执行以下命令:
appcmd.exe list apppool /state:started /xml