#!/bin/sh

# 更新一下配置文件，不然时间会回复CST+0
source /etc/profile

# 读取keepalive脚本是否正在运行
run=`awk -F '=' '/\[frequency\]/{a=1}a==1&&$1~/run/{print $2;exit}' frequency-keepalive.ini`
if [ $run -eq 1 ]
then
  echo "keepalive is running, script exit----->$(date "+%Y-%m-%d %H:%M:%S")">>/root/alive.log
  exit
fi

# 已经重启次数，从ini文件里读取
number=`awk -F '=' '/\[frequency\]/{a=1}a==1&&$1~/number/{print $2;exit}' frequency-keepalive.ini`

# 程序主体
if ping -c1 www.hzby.tech 2>/dev/null 1>/dev/null
then
  echo "gateway alive----->$(date "+%Y-%m-%d %H:%M:%S")">>/root/alive.log
  awk -F "=" '/\[frequency\]/{a=1} (a==1 && "number"==$1){gsub($2,"'0'");a=0} {print $0}' /root/frequency-keepalive.ini 1<>/root/frequency-keepalive.ini
else
  # 如果已经重启五次了，那就等待15分钟
  if [ $number -ge 5 ]
  then
    echo "start wait 16m----->$(date "+%Y-%m-%d %H:%M:%S")">>/root/alive.log
    # 设置当然脚本正在运行
    awk -F "=" '/\[frequency\]/{a=1} (a==1 && "run"==$1){gsub($2,"'1'");a=0} {print $0}' /root/frequency-keepalive.ini 1<>/root/frequency-keepalive.ini
    sleep 16m
    # 设置当然脚本运行结束
    awk -F "=" '/\[frequency\]/{a=1} (a==1 && "run"==$1){gsub($2,"'0'");a=0} {print $0}' /root/frequency-keepalive.ini 1<>/root/frequency-keepalive.ini
    awk -F "=" '/\[frequency\]/{a=1} (a==1 && "number"==$1){gsub($2,"'0'");a=0} {print $0}' /root/frequency-keepalive.ini 1<>/root/frequency-keepalive.ini
    reboot
  else
    awk -F "=" '/\[frequency\]/{a=1} (a==1 && "number"==$1){gsub($2,"'$((number=$number+1))'");a=0} {print $0}' /root/frequency-keepalive.ini 1<>/root/frequency-keepalive.ini
    reboot
  fi
  echo "gateway down----->$(date "+%Y-%m-%d %H:%M:%S")">>/root/alive.log
fi
