V\P\N自动断开重连脚本

699 阅读1分钟

在部署了定时的抽数计划后,发现有时候V\P\N会断开导致抽数失败,因此结合了网上的脚本,修改了一下。

在每个节点上配置了v\p\n-keeper脚本,由主节点上的v\p\n-on脚本启动。

v\p\n-keeper

原理是,每20秒进行一次ping结果的轮询,$?代表前一个指令的返回结果。如果返回是0无异常,则不处理。如果返回有异常,则重启xl2tpd并重新添加v\p\n设定,并打印ifconfig。

#!/bin/bash


while true
  do
    ping -c 3 -I ppp0 192.168.200.64 >/dev/null
    if [  $? -eq 0  ];then
       echo "v\p\n is connected"
       sleep 20
    else
       echo "ppp0 is connecting"
       systemctl start xl2tpd
       sleep 5
       sh -c 'echo "c dsdv\p\n" > /var/run/xl2tpd/l2tp-control'
       sleep 5
       route add -host 192.168.200.64 dev ppp0
       ifconfig
       sleep 10
    fi
    sleep 20
  done

v\p\n-on

在后台启动全部的v\p\n-keeper,将它的结果和异常都导入/dev/null(黑洞)中。

#!/bin/bash


for i in ljw1 ljw2 ljw3
do
	echo "----$i----"
	ssh $i "nohup /root/bin/v\p\n-keeper >/dev/null 2>&1 &"
done