免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1728 | 回复: 8
打印 上一主题 下一主题

[系统管理] 求犀利shell 脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-06 10:44 |只看该作者 |倒序浏览
  1. route -n
  2. 内核 IP 路由表
  3. 目标            网关            子网掩码        标志  跃点   引用  使用 接口
  4. 192.168.20.0    0.0.0.0         255.255.255.0   U     1      0        0 eth0
  5. 192.168.66.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
  6. 192.168.77.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
  7. 192.168.200.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
  8. 169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
  9. 0.0.0.0         192.168.200.1   0.0.0.0         UG    0      0        0 eth1
  10. 0.0.0.0         192.168.20.1    0.0.0.0         UG    0      0        0 eth0
复制代码
把系统默认网关都获取出来,默认网关可能有(1至n个),可能没有,测试如果所有默认网关都ping不通则返回假,否则返回真

论坛徽章:
0
2 [报告]
发表于 2012-07-06 10:56 |只看该作者
回复 1# cfgrpg


    route -n|awk 'NR>2{if( $2 != "0.0.0.0" )print $2}'|xargs -n 1 ping -c 1

对结果的处理就不写了
在脚本里,可以直接对route -n|awk 'NR>2{if( $2 != "0.0.0.0" )print $2}' 的结果(就一个ip列表)进行循环
再用ping $ip -c 1  测试$? 即可知道是否ping通 输出重定向不用讲了吧。。。&>/dev/null

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
3 [报告]
发表于 2012-07-06 10:59 |只看该作者
在crontab中加入
0 0 * * * reboot
足够满足你的需求,又是脚本又是网关又是ping通ping不通

论坛徽章:
0
4 [报告]
发表于 2012-07-06 11:15 |只看该作者
  1. route -n |grep UG|awk '{print $2}'|xargs -i ping -q -c 1 {}
复制代码
用UG标志段去判断好点吧?大侠些个完整的吧,新手啊,就你说的那个循环怎么写?
回复 2# personball


   

论坛徽章:
0
5 [报告]
发表于 2012-07-06 11:20 |只看该作者
回复 4# cfgrpg


    自己翻翻ABS吧,既然涉及到了shell,了解点语法也是好的吧,主体的东西都给你了,剩下的20%工作你自己完成呗
不鼓励伸手党

论坛徽章:
0
6 [报告]
发表于 2012-07-06 11:25 |只看该作者
不是干这行的,只是现在有个这样的需要,表面的可以去学学,但是深度的学习时间不够哦,麻烦大侠了!

回复 5# personball


   

论坛徽章:
0
7 [报告]
发表于 2012-07-06 16:40 |只看该作者
本帖最后由 cfgrpg 于 2012-07-06 16:40 编辑
  1. for i in $(route -n |grep UG|awk '{print $2}');

  2.         do ping -q -c 2 $i > /dev/null && exit || echo "111";

  3. done
复制代码

论坛徽章:
0
8 [报告]
发表于 2012-07-06 16:52 |只看该作者
回复 7# cfgrpg


    自已动手,丰衣足食!

论坛徽章:
0
9 [报告]
发表于 2012-08-07 15:23 |只看该作者
  1. i = 0;
  2.     regAddr[i]  = 0x03;  regValue[i] = 0x09;  i++;  //42; 设置输出格式16bit、422 16位接口
  3.     regAddr[i]  = 0x05;  regValue[i] = 0x05;  i++;  //42; Prim_Mode =0101b HDMI-COMP
  4.     //regAddr[i]  = 0x06;  regValue[i] = 0x2B;  i++;  //42; 01011b HD 1X1 1080P (1920x1080) HIGH:001b Vertical frequency is 50Hz
  5.     regAddr[i]  = 0x06;  regValue[i] = 0x2A;  i++;  //42; 01010b HD 1X1 720P (1280x720) HIGH:001b Vertical frequency is 50Hz
  6.     regAddr[i]  = 0x1D;  regValue[i] = 0x40;  i++;  //42; Disable TRI_LLC
  7.     regAddr[i]  = 0x37;  regValue[i] = 0x00;  i++;  //42  
  8.     regAddr[i]  = 0x68;  regValue[i] = 0xF0;  i++;  //42; Auto CSC , YPrPb out
  9.     regAddr[i]  = 0x6B;  regValue[i] = 0xD3;  i++;  //42; mode6
  10.     regAddr[i]  = 0xBA;  regValue[i] = 0xA0;  i++;  //42; Enable HDMI and Analog in
  11.     regAddr[i]  = 0xC8;  regValue[i] = 0x08;  i++;  //42; Digital Fine Clamp Start position
  12.     regAddr[i]  = 0x7B;  regValue[i] = 0x0D;  i++;  //0x42 Disable AV code Insertion
  13.     regAddr[i]  = 0xF4;  regValue[i] = 0xAA;  i++;  //0x42 1010,1010b/Medium high (3*)
  14.    
  15.     regAddr[i]  = 0xF0;  regValue[i] = 0x10;  i++;  //62; ADI Recommended Write
  16.     regAddr[i]  = 0xF1;  regValue[i] = 0x0F;  i++;  //62; ADI Recommended Write
  17.     regAddr[i]  = 0xF4;  regValue[i] = 0x20;  i++;  //62; ADI Recommended Write
  18.    
  19.     regAddr[i]  = 0x15;  regValue[i] = 0xEC;  i++;  //6A; Disable these mute mask bits
  20.     regAddr[i]  = 0x1C;  regValue[i] = 0x49;  i++;  //6A; Set MCLKOUT to output 256fs
  21.     regAddr[i]  = 0x1D;  regValue[i] = 0x04;  i++;  //6A;  & Set Unmute Delay to 1_5 sec.
  22.     regAddr[i]  = 0x5A;  regValue[i] = 0x01;  i++;  //6A; Reset Audio Pll   
  23.     regAddr[i]  = 0x45;  regValue[i] = 0x40;  i++;  //6A;
  24.     regAddr[i]  = 0x3C;  regValue[i] = 0x44;  i++;  //6A;
  25.     regAddr[i]  = 0x10;  regValue[i] = 0x1F;  i++;  //6A;
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP