IIS程序池的回收有多种方式
我们可以手动回收,可以设定固定的时间进行回收,当然也可以在任务计划程序里添加任务让它定时回收,下面我们一一描述
手动回收
打开IIS的应用程序池,选择需要回收的任务
点击右面操作里的回收即可
设定固定的时间回收
在程序池中右键选择高级设置,IIIS默认的自动回收时间为是1740分钟,也就是29小时,这在实际应用中并不实用,我们可以在这根据需要进行修改,也可以点击特定时间设置。
如上图,设置“特定时间”在凌晨两点。应用程序池里面的特定时间是支持设定多个的。
在任务计划程序里添加任务回收
用vbs脚本及批处理文件,结合任务计划程序,保证程序池在设定时间内回收。
vbs脚本(.vbs)(为方便大家使用就不上图了<贴心 ing..>):
appPoolName = WScript.Arguments(0)
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")
Set oAppPool = oWebAdmin.Get("ApplicationPool.Name='" + appPoolName + "'")
oAppPool.Recycle
set fso=createobject("scripting.filesystemobject")
if (fso.fileexists("F:\IIS定时回收\recycleIISPool.log")) then
'1-forreading,2-forwriting,8-appending
set file=fso.opentextfile("F:\IIS定时回收\recycleIISPool.log",8,ture)
else
set file=fso.createtextfile( "F:\IIS定时回收\recycleIISPool.log",8,ture)
end if
'write(x)写入x个字符,writeline写入换行,writeblanklines(n)写入N个空行
file.writeline now&" 应用程序池“"&appPoolName &"”已经回收成功。"
file.close
其中 ”F:\IIS定时回收\recycleIISPool.log ” 是脚本执行成功后写入的日志文件
批处理脚本(.bat):
cscript F:\IIS定时回收\Recyclepool.vbs appPoolName
脚本文件写好后,放在一个目录下面,然后打开控制面板——管理工具——任务计划程序
在打开的窗口中右键创建基本任务,根据自己的需要写入内容,依次下一步,在选择程序或脚本的时候选择刚刚创建的vbs脚本,然后点击下一步,至此创建完成。我们点击运行测试一下
查看日志文件
OK!
在任务计划程序里添加任务的方式相比定时回收更加的灵活,方便,还是非常实用的