wg-easy VPN 服务存在问题并在自动化帐户上使用 Powershell 脚本设置自动重启

问题描述 投票:0回答:1

我在使用 wg-easy VPN 服务时遇到问题,因为 VPS 容器似乎经常出现故障。我设置了一个 cron 作业每 2 小时重新启动一次,但似乎没有多大帮助。

我也有兴趣在自动化帐户上使用 Powershell 脚本设置自动重新启动,但我不确定我的 Runbook 脚本是否正确。这是我写的脚本:

$resourceGroupName = "foodshare-resource-group"
$vmNames = @(
    "foodshare-virtual-machine",
    "monitoring_virtual_machine",
    "web-virtual-machine"
)

$trigger = New-JobTrigger -Once -At (Get-Date).AddMinutes(2) -RepetitionInterval (New-TimeSpan -Hours 2) -RepetitionDuration ([TimeSpan]::MaxValue)

Register-ScheduledJob -ScriptBlock {
    Connect-AzAccount -Identity

    foreach ($vmName in $vmNames) {
        Restart-AzVM -ResourceGroupName $resourceGroupName -Name $vmName
    }
} -Trigger $trigger

如果您能帮助解决 wg-easy VPN 服务问题以及验证我的 Powershell 脚本是否正确,我将不胜感激。

谢谢你。

azure vpn azure-automation
1个回答
0
投票

在自动化帐户上使用 PowerShell 脚本设置自动重启,但我不确定我的 Runbook 脚本是否正确:

您的脚本对我来说看起来不错,下面是该脚本的即兴版本,以使其高效工作。

$resourceGroupName = "xxx"
$vmName = "latestj"

$trigger = New-JobTrigger -Once -At (Get-Date).AddMinutes(2) -RepetitionInterval (New-TimeSpan -Hours 2) -RepetitionDuration ([TimeSpan]::MaxValue)

Register-ScheduledJob -ScriptBlock {
    param (
        [string]$resourceGroupName,
        [string[]]$vmName
    )

    Connect-AzAccount -Identity
    Restart-AzVM -ResourceGroupName $resourceGroupName -Name $vmName
} -Trigger $trigger -ArgumentList $resourceGroupName, $vmName

您还可以使用 try catch 块来检查和处理错误。

enter image description here

$resourceGroupName = "xxx"
$vmNames = @(
    xxxx
)
$trigger = New-JobTrigger -Once -At (Get-Date).AddMinutes(2) -RepetitionInterval (New-TimeSpan -Hours 2) -RepetitionDuration ([TimeSpan]::MaxValue)
Register-ScheduledJob -ScriptBlock {
    Connect-AzAccount -Identity

    foreach ($vmName in $vmNames) {
        $vmdetails = Get-AzVM -ResourceGroupName $resourceGroupName -Name $vmName -ErrorAction SilentlyContinue
        if ($vmdetails) {
            $Status = $vmdetails.ProvisioningState
            if ($Status -eq "Succeeded") {
                Restart-AzVM -ResourceGroupName $resourceGroupName -Name $vmName
                Write-Host "Restarted"
            } else {
                Write-Host "Not in a running state"
            }
        } else {
            Write-Host "VM $vmName not found"
        }
    }
} -Trigger $trigger

来到了,

wg-easy VPN 服务问题:

虽然使用 cron 作业每 2 小时重新启动一次可以确保服务保持在线状态,但这并不是最可行的方法。它会中断连接并带来数据丢失的风险。

  • 检查 wg-easy VPN 网络配置并验证您使用的是最新版本。
  • 还要检查 wg-easy 日志并监控可能导致这些冲突的 VPN 使用情况。
© www.soinside.com 2019 - 2024. All rights reserved.