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议.使用 ...
随机推荐
- java 简单的文件上传
一.文件上传原理: 1.文件上传的前提: a.form表单的method必须是post b.form表单的enctype必须是multipart/form-data(决定了POST请求方式,请求正文的 ...
- 屏蔽鼠标右键功能JS
<script language="Javascript"> function hiderightKey(){ return false; } docum ...
- 前端利器,如何使用fiddle拦截在线css进行先下调试
fiddle的功能相当的强悍,用户也非常广,不过今天我就教大家用fiddle进行前端调试. 首先下载软件fiddle,点击对应的版本下载安装. 安装成功后打开看到右侧的导航栏: 点击AutoRespo ...
- 协同办公平台Worktile体验分享(转)
自从组建团队以来,做的每一个项目.每一次活动,电脑里就会存放了N个不同名称的相同文档, 工作内容.资源文档非常零散,严重影响了工作效率. 之前用Dropbox共享文档,结果被墙了.用印象笔记,结果一个 ...
- python运维开发(十二)----rabbitMQ、pymysql、SQLAlchemy
内容目录: rabbitMQ python操作mysql,pymysql模块 Python ORM框架,SQLAchemy模块 Paramiko 其他with上下文切换 rabbitMQ Rabbit ...
- Genymotion如何访问本地服务器?
找到原因了,其实跟Genymotion没有关系,因为他本身是作为VirtualBox的一个虚拟OS在运行. 默认情况下,查看Genymotion的网络配置,是Host-Only模式: Microsof ...
- cdecl、pascal、stdcall、fastcall
Directive Parameter order Clean-up Passes parameters in registers?register Left-to-right ...
- vmware重装系统后虚拟机实例文件*.vmdk重用
如题:vmware重装系统后自定义的:虚拟机名称*.vmdk文件重用. 一.问题描述 系统磁盘坏道,装不上系统直接换了硬盘,但是新装的Vmware不能够通过open方式打开“自定义*.vmdk”(这个 ...
- 【男性身材计算】胸围=身高*0.48(如:身高175cm的标准胸围=175cm*0.61=84cm);腰围=身高*0.47(如:身高175c… - 李峥 - 价值中国网
[男性身材计算]胸围=身高*0.48(如:身高175cm的标准胸围=175cm*0.61=84cm):腰围=身高*0.47(如:身高175c- - 李峥 - 价值中国网 李峥:[男性身材计算]胸围=身 ...
- android 读取txt文件内容
Android的res文件夹是用来存储资源的,可以在res文件夹下建立一个raw文件夹,放置在raw文件夹下的内容会被原样打包,而不会被编译成二进制文件,并且可以通过R文件进行很方便地访问. 比如我们 ...