Linux 检测服务器是否连接着网络

 更新时间:2017年05月18日 10:14:23   作者:Kxvz  
这篇文章主要介绍了Linux 检测服务器是否连接着网络的相关资料,需要的朋友可以参考下

Linux 检测服务器是否连接着网络

摘要: 每隔5分钟检测一次服务器是否连接着网络,如果三次检测都没有网络?则自动关机! 主要使用场景: 由于自己有一台服务器放在偏远的老家,有可能会遇到停电导致断网的问题,并且停电后UPS使用时间也有限制, 因此设计此脚本为了解决停电的时候服务器突然断电引起的各种问题,当停电后网络也就不通了,此时需要自动关闭服务器. 当然,来电后需要手动启动服务器!!!

 #!/bin/bash

# 检测服务器是否连接着网络,如果网络不通 则 3次后 关机
# crontab -e
# */5 * * * * ./check.sh

echo "Starting test network was clear..."

if test -e ./checkInfo
 then
 echo "CheckInfo File Exist..."
else
 cat /dev/null > ./checkInfo
fi

last_res=`head -1 ./checkInfo`

checkInternet(){
 ping_res=1

 for url in "8.8.8.8" "61.139.2.69" "114.114.114.114" "168.95.1.1" "223.5.5.5" "180.76.76.76"
 do
 echo "PING ${url}"

 ping=`ping -c 3 ${url}|awk 'NR==7 {print $4}'`

 if [ ${ping} -eq 0 ]
  then
  ping_res=1
  else
  ping_res=2
 fi

 if [ ${ping_res} -eq 2 ]
  then
  break
 fi
 done

 return ${ping_res}
}

checkInternet

result="$?"

if [ ${result} -eq 1 ]
 then
 if [ "${last_res}" = "1" ]
  then
  echo "2" > ./checkInfo
 elif [ "${last_res}" = "2" ]
  then
  cat /dev/null > ./checkInfo
  init 0
  else
  echo "1" > ./checkInfo
 fi
 else
 cat /dev/null > ./checkInfo
fi

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • linux cd的含义以及用法

    linux cd的含义以及用法

    在本文里我们给大家整理了关于linux cd的含义以及用法并把相关知识点做了详细介绍,需要的朋友们参考下。
    2019-05-05
  • 在Debian系的Linux中检查软件包是否被安装的方法

    在Debian系的Linux中检查软件包是否被安装的方法

    这篇文章主要介绍了在Debian系的Linux中检查软件包是否被安装的方法,采用bash shell操作、适用于Ubuntu等Debian系的Linux系统,需要的朋友可以参考下
    2015-03-03
  • Linux系统中 /etc/fstab 文件的深入解读

    Linux系统中 /etc/fstab 文件的深入解读

    这篇文章主要给大家介绍了Linux系统中 /etc/fstab 文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Linux pidof命令使用总结

    Linux pidof命令使用总结

    今天GoFace给大家介绍linux pidof命令的用法,pidof命令大家或许很少见过,不过在适当的场合用处还是不小的
    2014-03-03
  • 关于Read-only file system问题的解决

    关于Read-only file system问题的解决

    这篇文章主要介绍了关于Read-only file system问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • CentOS7 修改网卡名称为eth0&在VMWare中添加多网卡配置

    CentOS7 修改网卡名称为eth0&在VMWare中添加多网卡配置

    这篇文章主要介绍了CentOS7 修改网卡名称为eth0&在VMWare中添加多网卡配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • Linux文件操作新手指南之关于install命令的用法

    Linux文件操作新手指南之关于install命令的用法

    这篇文章主要介绍了Linux文件操作新手指南之关于install命令的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • CentOS 设置默认JDK步骤详解及命令

    CentOS 设置默认JDK步骤详解及命令

    这篇文章主要介绍了 CentOS 设置默认JDK步骤详解及命令的相关资料,这里对配置Java的环境进行了详细的介绍,需要的朋友可以参考下
    2016-11-11
  • Linux输出信息并将信息记录到文件(tee命令)

    Linux输出信息并将信息记录到文件(tee命令)

    这篇文章主要介绍了Linux中如何能在输出信息的同时把信息记录到文件的相关资料,文中主要使用的是tee命令,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • Linux下sftp登录失败的解决方案

    Linux下sftp登录失败的解决方案

    这篇文章主要介绍了Linux下sftp登录失败的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论