由于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秒
}
~~~
#### 監控效果
* * * * *

* * * * *
#### 監控日志
~~~
##########
監控總次數
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 遠程時提示"要登錄到此遠程計算機,您必須被授予允許通過終端登錄登錄的權限"的解決方法
- 七、各種硬盤測試
- 八、阿里云各種性能測試