用powershell脚本,检测cpu100%,并触发sqlserver主备切换。
我为园子设计的脚本大致如下:
1慢检测:任务计划每分钟运行。发现cpu高于95%后,触发2。
2快检测:每隔5秒钟运行,发现cpu高于95%,连续6次后,触发3。
3报警n次。超出5分钟未处理后,触发4。
4去sql server机,执行主备切换的powershell命令。
5休眠n秒,连续触发3次主备切换,cpu还不能下降的话。则重启sql server机。
简单来说,就是操作自动化。
sql脚本:https://files.cnblogs.com/files/piapia/powershell.zip
用法:
1在win任务计划中,添加powershell.exe或pwsh.exe。或者linux的crontab中,添加pwsh。
2pwsh -f d:\xxx\m慢检测.ps1
3触发间隔,选1----3分钟。
Add-Content -Path "${PSScriptRoot}/bj报警未处理标记.txt" -Value '' foreach ($Private:i in 1..6) { #这里有些我写的报警脚本。 https://gitee.com/chuanjiao10/kasini3000/tree/master/admin_gui #xxx Start-Sleep -Seconds 60 } if (Test-Path -LiteralPath "${PSScriptRoot}/bj报警未处理标记.txt") { #触发sql server 主备切换。 & "${PSScriptRoot}/sql_server主备切换.ps1" }
if (Test-Path -LiteralPath "${PSScriptRoot}/记录主备切换次数.txt") { $Private:主备切换次数 = Get-Content -Path "${PSScriptRoot}/记录主备切换次数.txt" } if ($Private:主备切换次数 -ge 3) { Remove-Item -LiteralPath "${PSScriptRoot}/记录主备切换次数.txt" Write-Host '重启sqlserver' & "${PSScriptRoot}/重启sql服务器.ps1" } $Private:主备切换次数++ Add-Content -Path "${PSScriptRoot}/记录主备切换次数.txt" -Value $Private:主备切换次数 Add-Content -Path "${PSScriptRoot}/记录主备切换时间.txt" -Value (Get-Date) #sqlserver 主备切换 & "${PSScriptRoot}/0sqlserver_insert.ps1" -server '127.0.0.1' -username 'aaa' -pass '12345678' -query "USE master ; ALTER DATABASE database_name SET PARTNER FAILOVER ;" # https://docs.microsoft.com/zh-cn/sql/database-engine/database-mirroring/manually-fail-over-a-database-mirroring-session-transact-sql?view=sql-server-2016
分类:
powershell
posted on 2021-05-02 18:57 PowerShell免费软件 阅读(351) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
2016-05-02 Invoke-WebRequest Invoke-RestMethod 乱码研究