linux网卡掉包或挂掉解决办法
之前公司的系统由于网卡问题,经常出现掉包(掉包排除攻击的 因素)或者突然挂掉,
严重影响服务的正常提供,因此想在出现此问题时自动解决。
思路:对网卡检测掉包情况,或者用ping检测,出现了,就重启哈网卡 。瞧是很简单吧!
代码如下:
| 代码如下 | 复制代码 |
| #安装帮助: mkdir /cyc #/cyc/renetwork.log为日志文件 #!/bin/bash # 2013-2-17 @凹凸曼 # ping timeout restart network # lastmodtime 2013-3-19 pingNetwork(){ local c=$1 local pcount=$2 local dst=192.168.0.143 #修改为你的交互机或者路由器ip if [[ ! $pcount =~ ^[0-9]+$ ]];then pcount=5 fi loss=`ping -c $pcount $dst|grep loss|awk '{print $6}'|cut -d% -f 1 ` if [[ ! $loss =~ ^[0-9]+$ ]];then loss=100 fi if [ $loss -gt 0 ]; then ifdown $c sleep 3 ifup $c echo `date "+%Y%m%d %T"`": $pcount ping $loss% loss">>/cyc/renetwork.log sleep 30 fi } #start dst eth stopEth(){ local c=$1 local et=`service network status |tail -1|grep "$c"` if [ x"" == x"$et" ]; then ifup $c echo `date "+%Y%m%d %T"`":$c stop">>/cyc/renetwork.log sleep 30 fi } #drop found NetDrop(){ local c=$1 #$6 RX-DRP local redp=`netstat -i|grep "$c"|awk 'END{print $6}'` #$10 TX-DRP local txdp=`netstat -i|grep "$c"|awk 'END{print $10}'` if [ $redp -gt 0 ];then ifdown $c sleep 3 ifup $c echo `date "+%Y%m%d %T"`":$c RX-DRP drop">>/cyc/renetwork.log sleep 30 fi sleep 2 if [ $txdp -gt 0 ];then ifdown $c sleep 3 ifup $c echo `date "+%Y%m%d %T"`":$c TX-DRP drop">>/cyc/renetwork.log sleep 30 fi } wtime=$2 eth=$1 if [[ ! $wtime =~ ^[0-9]+$ ]];then wtime=3 fi if [ x"" == x"$eth" ];then echo "please enter the NIC name!" exit fi while [ 1 ] do stopEth $eth sleep $wtime NetDrop $eth sleep $wtime pingNetwork $eth 1 done |
|
程序运行至目前的日志结果如下:
| 代码如下 | 复制代码 |
| 20130319 12:23:01: eth0 1 ping 100% loss 20130319 13:43:50: eth0 1 ping 100% loss 20130319 18:11:18: eth0 1 ping 100% loss 20130323 08:04:59: eth0 1 ping 100% loss 20130323 14:41:04: eth0 1 ping 100% loss 20130324 12:49:04: eth0 1 ping 100% loss 20130327 13:15:47: eth0 1 ping 100% loss 20130401 11:17:42: eth0 1 ping 100% loss 20130402 09:02:14: eth0 1 ping 100% loss 20130403 08:49:30: eth0 1 ping 100% loss 20130404 20:21:46: eth0 1 ping 100% loss 20130407 18:44:57: eth0 1 ping 100% loss 20130408 10:46:53: eth0 1 ping 100% loss 20130408 14:41:06: eth0 1 ping 100% loss 20130408 14:47:24: eth0 1 ping 100% loss 20130408 15:23:02:eth0 RX-DRP drop 20130415 08:30:09: eth0 1 ping 100% loss 20130415 11:16:16: eth0 1 ping 100% loss 20130417 08:05:41: eth0 1 ping 100% loss 20130419 08:04:19: eth0 1 ping 100% loss 20130419 10:40:51: eth0 1 ping 100% loss 20130419 11:33:14: eth0 1 ping 100% loss 20130419 19:03:03: eth0 1 ping 100% loss 20130421 16:10:55: eth0 1 ping 100% loss 20130422 07:47:34: eth0 1 ping 100% loss 20130423 07:15:07: eth0 1 ping 100% loss |
|
呵呵,自动解决了网卡掉包或挂掉的烦恼!您是不是很爽!
忘记了说鸟,此程序运行环境Red Hat Enterprise Linux Server release 5.4或者Centos6.3
其他linux环境估计问题不大,这里就不测试鸟!
linux网卡掉包或挂掉解决办法的更多相关文章
- linux中文显示乱码的解决办法
linux中文显示乱码的解决办法 linux中文显示乱码是一件让人很头疼的事情. linux中文显示乱码的解决办法:[root@kk]#vi /etc/sysconfig/i18n将文件中的内容修改为 ...
- linux中tomcat内存溢出解决办法
用命令 tail -f /root/apache-tomcat-6.0.20/logs/catalina.out(需要找到tomcat路径) 查看日志,查看是否有错误 linux中tomcat内存溢出 ...
- Linux忘记roo密码的解决办法
Linux忘记root密码有三种解决办法: 下面详细介绍第一种: 重启系统后出现GRUB界面在引导装载程序菜单上,用上下方向键选择你忘记密码的那个系统键入“e” 来进入编辑模式. 接下来你可以看到 ...
- WPS for Linux 字体配置(字体缺失解决办法)
WPS for Linux 字体配置(字体缺失解决办法) 1. 背景 有些linux装完wps后提示"部分字体无法显示"或"some formula symbols mi ...
- Windows本地Linux虚拟机ping不通的解决办法
解决办法:启动虚拟机双网卡支持: 网卡1:Host-Only网络 网卡2:NAT网络 设置好以后,可以在Linux主机中ifconfig查看本地Host-Only的网络地址,与电脑中的地址应该是同一网 ...
- Hyper-V中的Linux无法配置网络地址的解决办法
一周碰到2次在Hyper-V 2012中安装了Linux,也安装了IC 3.4.但是却无法配置IP地址的问题.因此造成很多不便,因此找机会把这个原因和解决办法进行了尝试. 这过程中感谢同事的提示,让我 ...
- Linux安装vim失败的解决办法
最近想了解一下linux编程,于是linux系统下输入vim,发现竟然没有安装.好吧,那就安装吧.命令: sudo apt-get install vim 百度百科:apt-get是一条linux命令 ...
- ORA-19502: write error on file "", blockno (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox
今天,在测试环境启动数据库时,报错: SQL> startup; ORACLE instance started. Total System Global Area 285212672 byt ...
- Xshell4连接,Linux系统中文显示乱码解决办法
Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET NetSarang Xshell 4 Build 0120议.使用 ...
随机推荐
- JVM虚拟机选项:Xms Xmx PermSize MaxPermSize区别
java虽然是自动回收内存,但是应用程序,尤其服务器程序最好根据业务情况指明内存分配限制.否则可能导致应用程序宕掉. 举例说明含义:-Xms128m 表示JVM Heap(堆内存)最小尺寸128MB, ...
- 【ecos学习3】redboot on vmware 网络配置
需要图形化编译的时候必须 Build->Packages 加入:Common ethernet support 才可以有网络功能 导入vmare需要修改网络连接模式: 1- 设置redbootI ...
- Nginx安装配置PHP(FastCGI)环境的教程
这篇是Nginx安装配置PHP(FastCGI)环境的教程.Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用. 一.什么是 FastCGI F ...
- eclipsecpp从可执行程序员中导入源代码并调试
如果寻找跨平台IDE及调试环境,那eclipse是最佳选择了,因为它有一项超强功能:可以从可执行程序员导入源代码并调试程序,这种特性是非常适合自定义MakeFile项目,不需要改变项目现有结果,即可自 ...
- Qt creator error: LNK1123: 转换到 COFF 期间失败: 文件无效或损坏(vs2010的嵌入式清单文件)
下面是vs2010导入别人文件时出现的问题的解决方案:VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属 ...
- pycares cffi
pypy 5.0.1 由于 cpyext 有 bug,用不了异步 DNS 解析库 pycares .花了一周时间,对照着 pycares 的 C 代码自己重写了个 cffi 的实现.在 windows ...
- Mininet 搭建自定义网络
Mininet支持参数化拓扑,用几行python代码,你就可以创建一个基于你传进去的参数配置的灵活拓扑结构,还可被多个实验重复使用. 下面是一个小例子:(基于mininet/topo.py:Singl ...
- C#中HashTable的用法 【转】
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中 ...
- 移动web开发前准备知识了解(html5、jquery)笔记
1.经常使用 插件工具 chrome插件: Mobile & Tablet Emulator(用于常见移动端适配):(重点) Mobile Emulator is an useful o ...
- 傅老师课堂:Java高级应用之Struts2+Spring2+Hibernate3大集成
开篇一笑:一对情侣,非常恩爱,但男友喜欢说脏话,一天女友提出要带男友回家吃个饭,见见家长,千叮万嘱让男友别说脏话,男友在家憋了一晚上没说一句脏话,天气寒冷,到走的时候女友家长要出来送他们,男友客气的说 ...