找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 22013|回复: 239

[虚拟机相关] 求教,有没有PVE虚拟机的脚本,可以实现当网络中断时,能自动重启PVE

 火... [复制链接]
发表于 2021-11-10 11:05 | 显示全部楼层 |阅读模式
本帖最后由 cch0323 于 2021-11-23 08:21 编辑

平时经常在办公室远程操作家里的PVE虚拟机,有时候折腾得不好,就断网了,这时如果能有个脚本自动检测网络,发现断网就自动重启PVE,那网络就能恢复了。请教大神,有没有这样的脚本?


经过多方查找资料以及自学,做了个个人感觉比较好的脚本,流程是这样的:第一次判断网络中断后,过1分钟再次判断网络状态,如果还是中断,则执行重启openwrt,再过5分钟网络还是没有恢复,那就重启PVE。
定时任务可以设置没10分钟执行一次。
以下是脚本



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 2恩山币 +2 收起 理由
极品斌 + 1 厉害。
virus1999 + 1 今天天气不错,适合泡妞。

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-11-10 15:04 | 显示全部楼层
本帖最后由 cch0323 于 2021-11-11 15:02 编辑

等了半天,没有大神给我解答,我只能自己找资料摸索,以下是我做的脚本,不知道可不可行,先发上来。
步骤一:

编辑  /etc/crontab

添加代码:

* */1 * * *  root  /var/tmp/test.sh    # 每隔 1小时执行一次 test.sh

按ctrl+X退出,提示是否保存,按Y,回车

执行 /etc/init.d/cron restart

步骤二:

新建 /var/tmp/test.sh (我把权限设置755)
代码如下:

#!/bin/bash


#检测网络链接畅通
function network()
{
    #超时时间
    local timeout=1


    #目标网站
    local target=www.baidu.com


    #获取响应状态码
    local ret_code=`curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1`


    if [ "x$ret_code" = "x200" ]; then
        #网络畅通
        return 1
    else
        #网络不畅通
        return 0
    fi


    return 0
}


network
if [ $? -eq 0 ];then
        echo "网络中断,1分钟后重启!"
              shutdown -r 1
        exit -1
fi


echo "网络正常!"


exit 0


点评

这个脚本是ping不通内网的设备吗?把百度换成内网的ip 192.168.100.1 就有问题了,这个IP ping的通但每次运行都关机  详情 回复 发表于 2022-2-4 13:15
大师,如果设置3分钟检测一次,怎么改?  详情 回复 发表于 2021-11-23 19:16
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-11-10 15:56 | 显示全部楼层
试验了好久,发现脚本没问题了,但计划任务没有正常执行,没有每分钟去执行一次test.sh脚本,继续琢磨。。。。。。

点评

每分钟执行不用/1啊,直接五*就好  详情 回复 发表于 2022-1-20 02:32
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-11-10 16:03 | 显示全部楼层
试验了好久,发现脚本正常了,但定时任务没有执行,继续琢磨。。。。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-11-10 16:17 | 显示全部楼层
我想要软路由断了的时候,自动启动PVE里的openwrt,不知道怎么搞

点评

把shutdown -r 1这条命令换成重启虚拟机的命令就可以了  详情 回复 发表于 2021-11-10 16:36
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-11-10 16:36 | 显示全部楼层
本帖最后由 cch0323 于 2021-11-11 15:31 编辑
GGwd777 发表于 2021-11-10 16:17
我想要软路由断了的时候,自动启动PVE里的openwrt,不知道怎么搞

把shutdown -r 1这条命令换成重启虚拟机的命令就可以了qm reboot 101
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-11-10 18:12 | 显示全部楼层
pve有操作虚拟机的指令,应该是qm指令
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-11-10 20:57 | 显示全部楼层
换了家里的PVE,一模一样的代码,成功了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-11-11 23:04 | 显示全部楼层
重启op网卡端口不行了吗?要重启pve?

点评

折腾的时候不只是把op折腾坏了,可能pve也挂了  详情 回复 发表于 2021-11-12 16:38
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-11-12 16:38 | 显示全部楼层
goclear 发表于 2021-11-11 23:04
重启op网卡端口不行了吗?要重启pve?

折腾的时候不只是把op折腾坏了,可能pve也挂了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-11-21 14:23 | 显示全部楼层
大佬 上面的代码是最终版的吗  我可以直接拿来用吗

点评

我在一楼发了最终版,你可以拿去试试  详情 回复 发表于 2021-11-23 09:36
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-11-23 09:36 | 显示全部楼层
木马鸽鸽 发表于 2021-11-21 14:23
大佬 上面的代码是最终版的吗  我可以直接拿来用吗

我在一楼发了最终版,你可以拿去试试
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-11-23 10:54 | 显示全部楼层
qm指令一模一样的代码,成功了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-11-23 11:48 | 显示全部楼层
我试试~~~~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-11-23 18:55 | 显示全部楼层
打倒美帝做了个个人感觉比较好的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-20 03:46

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表