由于IIS某些原因为自动停止,我用PowerShell简单开发了这个小程序,用户可以设置多长时间检查一次,一经发现网站停止,则自动启动IIS进程。结合WindowsPowerShell 运行起来还算完美
~~~
cls
iis: #先进到powershell IIS
$host.UI.RawUI.WindowTitle = ‘……翼通IIS守护……’
$host.UI.RawUI.ForegroundColor='Green'
#version V1.3.9
#t1间隔时间s
$t1=60
$log='d:\iis.log.txt' #日志文件
#region
$nu=0
$n1="##########"
$n2="监控总次数"
$cq1=0
$cq2=0
#$ip2='172.16.11.145'
#$ip3='172.16.11.8'
#endregion
if(Test-Path $log){}else
{
"初始化log"
echo $n1 >$log
echo $n2 >>$log
echo $nu >>$log
echo $n1 >>$log
}
while(1 -lt 2)
{
sleep $t1 #休眠都多少秒
cls
$log1=Get-Content $log
$nu=$log1[2]
$nu=[int]$nu + 1
#print 显示到电脑屏幕
echo $n1
echo "$($n2):$($nu)次"
echo "监控间隔:$($t1)s(秒)"
echo "重启已停止IIS进程:$($cq1)次"
echo $n1
#write
echo $n1 >$log
echo $n2 >>$log
echo $nu >>$log
echo $log1[3..($log1.count-1)] >>$log
#check
#Get-ChildItem IIS:\apppools 这样进去会报找不到启动器错
Get-ChildItem apppools | where {$_.state -eq "Stopped"} | ForEach-Object{
echo "正在重启已停止的进程"$($_.Name)
$cq1=$cq1 + 1
echo "重启已停止进程$($_.Name), $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss.ffff')">>$log
Start-WebAppPool -Name "$($_.Name)" #启动已经停止的进程
}
sleep 60 #重启完休息60秒
}
~~~
#### 监控效果
* * * * *
![](https://box.kancloud.cn/1cbbf4f90a6b1d468917022fa614b2d7_450x550.png)
* * * * *
#### 监控日志
~~~
##########
监控总次数
6737
3097
重启已停止进程1_FreeHost_358, 2018-06-04 00:25:33.9097
重启已停止进程1_FreeHost_442, 2018-06-04 01:28:11.1607
重启已停止进程1_FreeHost_442, 2018-06-04 03:54:56.7327
重启已停止进程1_FreeHost_353, 2018-06-04 06:36:08.7288
重启已停止进程1_FreeHost_445, 2018-06-04 12:00:08.7867
重启已停止进程1_FreeHost_101, 2018-06-04 12:22:56.2607
重启已停止进程1_FreeHost_127, 2018-06-04 12:22:56.5317
~~~
- 一、IIS维护
- 1.IIS站点防止跨站攻击
- 2.IIS PowerShell进程池守护
- 3.限制某个站点CPU和内存超高占用其他用户资源
- 4.IIS日志从IBL改为LOG
- 5.IIS自动守护CPU限制
- 6.PowerShell云服务器网卡监控Ping不通重启网卡
- asp获得真实IP
- 二、PowerShell
- 1.PowerShell运算符
- 三、星外主机管理系统
- 1.自动每天生成日志文件
- 2.日志文件内容里提示Task aborted
- 3.星外系统IIS日志分析常用的几个命令小结
- 四、网卡
- 1.重启网卡
- 五、wdlinux
- wdcp后台访问安全设置IP访问设置及清除方法
- centos关机命令
- Shadowsocks 一键安装脚本(四合一)
- Shadowsocks(Sock5代理)的PAC模式与全局模式与VPN的区别
- 双网卡共享上网
- 翼通高防高稳定方案教程
- 六、Windows
- Win2008 远程时提示"要登录到此远程计算机,您必须被授予允许通过终端登录登录的权限"的解决方法
- 七、各种硬盘测试
- 八、阿里云各种性能测试