共计 1311 个字符,预计需要花费 4 分钟才能阅读完成。
我想问一下大家,有没有这样的脚本啊。最近几天跑网心云 x86,爱快经常死机,然后一直卡着,非要我手动重启。网心云 X86 倒是没出问题,就是爱快出问题。想问一下有没有这样的脚本,自动检测 Hyper- V 虚拟机是否死机,并自动重启虚拟机?yanzhiling2002 2023-06-22 21:41 2 你观察一下,VPS 死机的时候,tcping or ping VPS 有回应吗,没有回应就以 ping 为触发条件。快乐快乐的 2023-06-22 21:42 3 以下是一个 PowerShell 脚本示例,可以检测 Hyper- V 虚拟机是否死机,并自动重启虚机:# 设置变量 $VMName = "MyVM"$RetryCount = 3$RetryInterval = 10 # 单位为秒# 循环检测虚机状态 for ($i = 1; $i -le $RetryCount; $i++) { $VMStatus = Get-VM -Name $VMName | Select-Object -ExpandProperty State if ($VMStatus -eq "Running") { Write-Host " 虚机 $VMName 正在运行。" break } elseif ($VMStatus -eq "Off") { Write-Host " 虚机 $VMName 已关闭。正在启动虚机 …" Start-VM -Name $VMName } elseif ($VMStatus -eq "Paused") { Write-Host " 虚机 $VMName 已暂停。正在恢复虚机 …" Resume-VM -Name $VMName } elseif ($VMStatus -eq "Saved") { Write-Host " 虚机 $VMName 已保存状态。正在恢复虚机 …" Start-VM -Name $VMName } elseif ($VMStatus -eq "Stopping") { Write-Host " 虚机 $VMName 正在关闭。" } elseif ($VMStatus -eq "Starting") { Write-Host " 虚机 $VMName 正在启动。" } elseif ($VMStatus -eq "Pausing") { Write-Host " 虚机 $VMName 正在暂停。" } elseif ($VMStatus -eq "Resuming") { Write-Host " 虚机 $VMName 正在恢复。" } else { Write-Host " 虚机 $VMName 状态未知。" } Start-Sleep -Seconds $RetryInterval}# 如果虚机仍未运行,则重启虚机 if ($VMStatus -ne "Running") { Write-Host " 虚机 $VMName 未能成功启动。正在尝试重启虚机 …" Restart-VM -Name $VMName} 请注意,此脚本仅适用于检测虚拟机是否死机,并尝试自动重启虚拟机。如果虚拟机出现其他故障或错误,可能需要进一步调试和修复。