免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yuhongchun
打印 上一主题 下一主题

专家座谈——脚本分享与交流(大奖) [复制链接]

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
21 [报告]
发表于 2011-09-14 17:30 |只看该作者
先晒一个入门级的脚下本吧,在通过cobbler批量布署centos后,各服务器的hostname、ip、mask、gateway、dns都 ...
king_819 发表于 2011-09-14 17:24


恩,谢谢分享!!看来King兄的奖品是少不了的!!

论坛徽章:
0
22 [报告]
发表于 2011-09-14 17:31 |只看该作者
本帖最后由 king_819 于 2011-09-15 10:22 编辑

再来分享一个收集IP地址段的脚本
  1. #!/bin/sh
  2. # BY kerry (聆听未来)
  3. # BLOG:[url]http://kerry.blog.51cto.com[/url]

  4. FILE=./ip_apnic
  5. CNFILE=./hk_apnic
  6. ipinfo=./ipfile.txt
  7. rm -f $FILE
  8. rm -f $CNFILE
  9. wget [url]http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest[/url] -O $FILE
  10. grep 'apnic|HK|ipv4|' $FILE | while read text    #HK --香港地区
  11. do
  12.          echo $text>> $CNFILE
  13. done
  14. grep 'apnic|HK|ipv4|' $CNFILE | cut -f 4,5 -d'|'|sed -e 's/|/ /g' | while read ip cnt
  15. do
  16.          echo $ip:$cnt
  17.          mask=$(cat << EOF | bc | tail -1
  18. pow=32;
  19. define log2(x) {
  20. if (x<=1) return (pow);
  21. pow--;
  22. return(log2(x/2));
  23. }
  24. log2($cnt)
  25. EOF
  26. )

  27.         echo $ip/$mask>> ./hk.txt
  28.    echo $ip>> ./ip.txt
  29. done
复制代码

论坛徽章:
0
23 [报告]
发表于 2011-09-14 17:38 |只看该作者
本帖最后由 king_819 于 2011-09-15 10:22 编辑

再来分享一个squid进程监控的脚本,因squid对多核支持不理想,所以在每台freebsd服务器上开启了3个squid进程,进行负载均衡,有时会发现其中一个squid进程会无故死掉,所以写了一个监控脚本,保证squid进程的正常运行
  1. #!/bin/sh
  2. # BY kerry (聆听未来)
  3. # BLOG:[url]http://kerry.blog.51cto.com[/url]

  4. Squid1_IP=`/bin/cat /etc/rc.conf | grep ifconfig_lo0_alias0 | awk '{print $2}'`
  5. Squid1Num=`netstat -an | grep $Squid1_IP | wc -l`      
  6. if [ $Squid1Num -lt 10 ] ; then   
  7.     /usr/local/etc/rc.d/squid1 start
  8.     /usr/local/etc/rc.d/squid1 restart
  9.     adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`   
  10.     echo "$adddate squid_1 started" >> /var/restart_squid.log   
  11. fi
  12. Squid2_IP=`/bin/cat /etc/rc.conf | grep ifconfig_lo0_alias1 | awk '{print $2}'`
  13. Squid2Num=`netstat -an | grep $Squid2_IP | wc -l`      
  14. if [ $Squid2Num -lt 10 ] ; then   
  15.     /usr/local/etc/rc.d/squid2 start
  16.     /usr/local/etc/rc.d/squid2 restart
  17.     adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`   
  18.     echo "$adddate squid_2 started" >> /var/restart_squid.log   
  19. fi
  20. Squid3_IP=`/bin/cat /etc/rc.conf | grep ifconfig_lo0_alias2 | awk '{print $2}'`
  21. Squid3Num=`netstat -an | grep $Squid3_IP | wc -l`      
  22. if [ $Squid3Num -lt 10 ] ; then   
  23.     /usr/local/etc/rc.d/squid3 start
  24.     /usr/local/etc/rc.d/squid3 restart
  25.     adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`   
  26.     echo "$adddate squid_3 started" >> /var/restart_squid.log   
  27. fi
复制代码

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
24 [报告]
发表于 2011-09-14 17:41 |只看该作者
本帖最后由 yuhongchun 于 2011-09-15 07:09 编辑

while经典脚本之一:
  1. #!/bin/bash
  2. while :
  3. do
  4. status=`curl -s --head [url]http://www.1paituan.com/index.jsp[/url] | awk '/HTTP/ {print $2}'`
  5. if [ "$status" == "200" ]
  6. then
  7.    :
  8. else
  9.   mail -s "1paituan.com is errer.please check " [email]yuhongchun027@163.com[/email]
  10. fi
  11. sleep 5
  12. done
复制代码

论坛徽章:
0
25 [报告]
发表于 2011-09-14 17:46 |只看该作者
while经典脚本之一:
#!/bin/bash
while :
do
status=`curl -s --head  | awk '/HTTP/ {print $2}'`
i ...
yuhongchun 发表于 2011-09-14 17:41



调用飞信接口   http://sms.api.bz/fetion.php

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
26 [报告]
发表于 2011-09-14 17:51 |只看该作者
调用飞信接口
king_819 发表于 2011-09-14 17:46



没事,我这个只是监控玩下;每一个网站都有相应的Nagios和运维的~~

论坛徽章:
0
27 [报告]
发表于 2011-09-14 17:53 |只看该作者
准备下班了,明天再继续和大家一起探讨!

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
28 [报告]
发表于 2011-09-14 17:55 |只看该作者
都是好书!怒赞

论坛徽章:
0
29 [报告]
发表于 2011-09-14 18:05 |只看该作者
那我也斗胆来个吧
不排序排重
  1. #!/bin/perl
  2. open FH,'E:\test\perl\ip.txt';

  3. my %ip;
  4. while (<FH>) {
  5.     chomp;
  6.     if (!exists $ip{$_}) {
  7.         $ip{$_} = 1;
  8.         print "uni---$_\n";
  9.     } else {
  10.         print "dup---$_\n";
  11.     }
  12. }
复制代码
1,打开含有ip的文件,每个ip地址一行
2,定义一个名叫ip的hash
3,从文件中读取内容,每次一行
4,去掉每行最后的换行符
5,判断是否存在以ip为key的hash内容
6,不存在就将ip插入hash
7,打印唯一的内容
9,打印重复的内容

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:15:08CU大牛徽章
日期:2013-03-13 15:26:06CU大牛徽章
日期:2013-03-13 15:26:47
30 [报告]
发表于 2011-09-14 18:27 |只看该作者
这个一定要支持下.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP