免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
41 [报告]
发表于 2011-09-15 15:42 |只看该作者
最早在项目工程中熟悉了awk,发现脚本语言真是方便,后来便一发不可收拾,看了perl,python
目前觉得perl真是实用方便,和find结合起来真是好用

论坛徽章:
0
42 [报告]
发表于 2011-09-15 16:13 |只看该作者
邀请嘉宾一栏,全是漏写:

exper1 -> expert1
Sell -> Shell
xiaopan3322 发表于 2011-09-14 15:27



sed -i s/exper1/expert1/g
sed -i s/Sell/Shell/g

是这么写吧?

论坛徽章:
0
43 [报告]
发表于 2011-09-15 17:11 |只看该作者
新手如何学习shell?
我也是一名shell新手,我最近看完鸟哥基础版的shell那一章,我发现我学的很有感觉,而且全部都理解了。但其实我发现我还是超级菜吧,我想有那样一种学习方式,就是书上写一个语法然后有很多有价值有水平的例子,而且例子是附带注释的,这样的话我想我们菜鸟会进步很快的。发现很多书籍自我感觉写的不是非常好。

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
44 [报告]
发表于 2011-09-15 17:34 |只看该作者
awk的binary search ,折半查找。问题原本在这里http://bbs.chinaunix.net/viewthread.php?tid=1800295,太长了。自己看吧。
  1. awk '                       
  2. function ip2n(ip) { split(ip,a,"."); return a[1]*256^3+a[2]*256^2+a[3]*256+a[4] }

  3. BEGIN {FS="[-: ]+"}      

  4. NR==FNR {

  5.        fuck[k++] = $0;next }

  6.      {               

  7.         start = 0

  8.         end = k - 1        

  9.         while(start <= end) {

  10.               mid =int(start+ ((end - start)/2))
  11.                 split(fuck[mid], kao)

  12.                 if(ip2n($1) < ip2n(kao[1]))

  13.                         end = mid-1

  14.                 else if(ip2n($1) > ip2n(kao[2]))

  15.                         start = mid+1

  16.                 else {
  17.                        print $0 " in \t\t"fuck[mid]

  18.                         break

  19.                 }

  20.         }
  21. }'  ip_range ip
复制代码

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
45 [报告]
发表于 2011-09-15 17:36 |只看该作者
个人精力有限更多请见个人博客,本人只分享高质量的awk,shell,python脚本。至于基础语法之类的,我是”不屑于“贴的,

论坛徽章:
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
46 [报告]
发表于 2011-09-15 17:41 |只看该作者
个人精力有限更多请见个人博客,本人只分享高质量的awk,shell,python脚本。至于基础语法之类的,我是”不屑 ...
expert1 发表于 2011-09-15 17:36


确实,expert1版主脚本功力指实,希望在后面多给新人一些指导性意见...

论坛徽章:
0
47 [报告]
发表于 2011-09-15 19:00 |只看该作者
本帖最后由 king_819 于 2011-09-15 19:02 编辑
个人精力有限更多请见个人博客,本人只分享高质量的awk,shell,python脚本。至于基础语法之类的,我是”不屑 ...
expert1 发表于 2011-09-15 17:36



呵呵。。还得照顾一下大众!

论坛徽章:
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
48 [报告]
发表于 2011-09-15 19:53 |只看该作者
MySQL从状态监测脚本,代码如下 :
  1. #!/bin/bash
  2. #check MySQL_Slave Status
  3. #crontab time 00:10
  4. MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $4}'`
  5. MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`
  6. STATUS=$(/usr/local/webserver/mysql/bin/mysql -u yuhongchun -pyuhongchun101 -S /tmp/mysql.sock -e "show slave status\G" | grep -i "running")
  7. IO_env=`echo $STATUS | grep IO | awk  ' {print $2}'`
  8. SQL_env=`echo $STATUS | grep SQL | awk  '{print $2}'`

  9. if [ "$MYSQLPORT" == "3306" ]
  10. then
  11.   echo "mysql is running"
  12. else
  13.   mail -s "warn!server: $MYSQLIP mysql is down" yuhongchun027@163.com
  14. fi

  15. if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]
  16. then
  17.   echo "Slave is running!"
  18. else
  19.   echo "#######  $date  #########">> /data/data/check_mysql_slave.log
  20.   echo "Slave is not running!" >> /data/data/check_mysql_slave.log
  21.   mail -s "warn! $MySQLIP_replicate_error" yuhongchun027@163.com << /data/data/check_mysql_slave.log
  22. fi
复制代码
后期公司的MySQL数据库准备由一主一从架色升级成一主多从,读写分离的架构,LVS作从数据库的负载均衡器,此脚本自动监控从MySQL的 replication状态,如果不能同步则自动关闭本机的MySQL服务,免得影响整个网站的正常业务访问。当然了,到时脚本的运行周期肯定也需要更改,由10分钟变成秒级的,这个可以通过while循环来实现。

论坛徽章:
0
49 [报告]
发表于 2011-09-15 21:05 |只看该作者
用到多了,写的多了就会了 ..

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
50 [报告]
发表于 2011-09-15 22:21 |只看该作者
回复 47# king_819


    其实基础问题没什么可说的,相关资料自己看就可以了,而且脚本上手快,写多了就会了,这里只是交流学习别人的一些思想。所以恕我直言,基础知识还是看书。
不妥之处请见谅啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP