PowerShell免费软件

用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
复制代码

 

posted on   PowerShell免费软件  阅读(351)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
历史上的今天:
2016-05-02 Invoke-WebRequest Invoke-RestMethod 乱码研究
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示