关于 十一月, 2007 的文章

原创SHELL脚本共享:系统实时监控程序(基于TOP指令优化)

TOP相当于Linux下的资源管理器,我们公司有一部分重要的服务器便是通过该命令直接实时监控的。
但是,TOP虽然十分强大,对我们监控却并不是很适合,不能很直观的立刻锁定到重点的数据。更不能利用程序自动完成一些判断了。
因此,我花了一个晚上的时间,完成了下面的这个脚本,只要安装的TOP命令的Linux主机都可以正常使用该脚本!
它目前还是很初级的版本,所以很简单,甚至很弱,但它也实现了以下一些功能:
1.更亲和的人机界面,将重要的数据如CPU,负载,内存百分比等直接输出到平面上;
2.实现了对前一秒的流量统计;
3.更自由的用户自定义选项,可以通过变量来和直接修改脚本来调整排盘和自己的偏好;
4.自动判断功能,当某一项数值出现异常时(依赖于你的预设值),将会现在在顶部有警告信息。
我将会把这一脚本更加的完善,并完成另一份不依赖于TOP指令的脚本(它主要通过常用命令和/proc文件中获取)。
大家任何有需要的可以直接粘贴过去使用,另外,有任何完善的建议的请直接向我提出来,谢谢。

 
#!/bin/bash
#############################################
#### System information listen tool v0.2 ####
####               powered by mcsrainbow ####
#############################################
while true
do
  
  ###Copy the top's content to top.info###
  top -b1 -n1 >top.info
  sleep 2
   
  ###Check the flow###
  typeset in in_old dif_in
  typeset out out_old dif_out
 
  function FLOW(){
  in_flow1=$(cat /proc/net/dev |grep eth0 |sed -e "s/(.*):(.*)/[1]/g" |awk ' { print $1 }' |cut -d: -f2)
  in_flow2=$(cat /proc/net/dev |grep eth1 |sed -e "s/(.*):(.*)/[1]/g" |awk ' { print $1 }' |cut -d: -f2)
  in_flow_byte=$(expr $in_flow1 + $in_flow2)
  in_flow=$(expr $in_flow_byte / 1024)
  out_flow1=$(cat /proc/net/dev |grep eth0 |sed -e "s/(.*):(.*)/[1]/g" |awk ' { print $9 }')
  out_flow2=$(cat /proc/net/dev |grep eth1 |sed -e "s/(.*):(.*)/[1]/g" |awk ' { print $9 }')
  out_flow_byte=$(expr $out_flow1 + $out_flow2)
  out_flow=$(expr $out_flow_byte / 1024)
  }
 
  FLOW
  in_old=$in_flow
  out_old=$out_flow
 
  sleep 1
 
  FLOW
  in=$in_flow
  out=$out_flow
  dif_in=$(expr $in - $in_old )
  dif_out=$(expr $out - $out_old )
 
  ###Clear the Screen###
  clear
 
  ###Define the safe number###
  servername=Server   #The server's name which you running the scripts
  maxload=5                  #Warning if the load average bigger than this number
  maxcpu=50                 #Warning if the cpu bigger than is percent
  minmem=120             #Warning if the memory less than this number (MB)
  minswap=120            #Warning if the swap less than this number (MB)
  maxusers=3               #Warning if the user online more than 3
  maxzombie=2            #Warning if the zombie process more than 2
 
  ###Check the CPU###
  cpuinfo=$(grep "Cpu(s)" top.info|awk '{print $2}'|cut -d, -f1)
  cpuinfonumber=$(echo $cpuinfo |awk -F "%" '{print $1}'|awk -F "." '{print $1}')
  if [ ${maxcpu} -lt ${cpuinfonumber} ]; then
    echo "!!!!WARNING:The CPU used too much!!!!"
  fi
   
  ###Check the Mem###
  meminfo=$(grep "Mem:" top.info|awk '{print $4 "/" $2}')
  usedmem_kb=$(grep "Mem:" top.info|awk '{print $4}'|awk -F "k" '{print $1}')
  usedmem_mb=$(expr $usedmem_kb / 1024)
  totalmem_kb=$(grep "Mem:" top.info|awk '{print $2}'|awk -F "k" '{print $1}')
  totalmem_mb=$(expr $totalmem_kb / 1024)
  freemem_mb=$(expr $totalmem_mb - $usedmem_mb)
  if [ ${freemem_mb} -lt ${minmem} ]; then
    echo "!!!!WARNING:The Memory used too much!!!!"
  fi
  totalmem_kb_percent=$(expr $totalmem_kb / 100)
  percentmem=$(expr $usedmem_kb / $totalmem_kb_percent)
  
  ###Check the Swap###
  swapinfo=$(grep "Swap:" top.info |awk '{print $4 "/" $2}')
  usedswap_kb=$(grep "Swap:" top.info |awk '{print $4}'|awk -F "k" '{print $1}')
  usedswap_mb=$(expr $usedswap_kb / 1024)
  totalswap_kb=$(grep "Swap:" top.info |awk '{print $2}'|awk -F "k" '{print $1}')
  totalswap_mb=$(expr $totalswap_kb / 1024)
  freeswap_mb=$(expr $totalswap_mb - $usedswap_mb)
  if [ ${freeswap_mb} -lt ${minswap} ]; then
    echo "!!!!WARNING:The Swap used too much!!!!"
  fi
  totalswap_kb_percent=$(expr $totalswap_kb / 100)
  percentswap=$(expr $usedswap_kb / $totalswap_kb_percent)
   
  ###Check the users online###
  useronl=$(grep "load average:" top.info |sed 's/user.*//'|awk '{print $(NF)}')
  if [ ${maxusers} -lt ${useronl} ]; then
    echo "!!!!WARNING:The User online is more than 3!!!!" 
  fi
  
  ###Check the load average###
  loadavg=$(grep "load average:" top.info |sed 's/.*load average: //'|awk -F "," '{print $(NF-2)}')
  loadavgnumber=$(grep "load average:" top.info |sed 's/.*load average: //'|awk -F "," '{print $(NF-2)}'|awk -F "." '{print $1}')
  if [ ${maxload} -lt ${loadavgnumber} ]; then
    echo "!!!!WARNING:The Load Average is more than 5!!!!"
  fi

  ###Check the zombie###
  zombie=$(grep "Tasks:" top.info |awk '{print $(NF-1)}')
  if [ ${maxzombie} -lt ${zombie} ]; then
    echo "!!!!WARNING:The Zombie Process is more than 2!!!!" 
  fi
  
  ###Check the most process###
  processtitle=$(grep "TIME+" top.info)
  processinfo=$(sed -n 8,17p top.info)
 
  ###Show me the number just have counted###
  echo "Server     CPU   LOAD ZOMBIE   USER   IN     OUT             MEM             SWAP    "
  echo "${servername}  ${cpuinfo} ${loadavg}    ${zombie}        ${useronl}   ${dif_in}KB/s ${dif_out}KB/s   ${usedmem_mb}MB/${totalmem_mb}MB ${percentmem}%   ${usedswap_mb}MB/${totalswap_mb}MB ${percentswap}% "
  echo "--------------------------------------------------------------------"
  echo "${processtitle}"
  echo "${processinfo}"
 
done

No Comments

创造与卓越

最近,忽然有一种被埋没的感觉。
 
还记得今年8月份第二次找工作的日子里,自己整整经历了16天的时间才找到让自己比较满意的工作,而想起毕业后第一次寻找工作,也不过花了3天时间。
 
第一次找工作的时候,想的尤其单纯,只要能够有好的发展方向,工资不低于1K就成,于是在pass了一家做数据库管理的公司之后,选择了当初正处在创业初期的龙图科技。原因很简单,在这家公司我能够有幸接触到Linux并深入的学习。在毕业的时候我听周围的人说,要搞Linux方面的再怎么也得到30岁左右去了(当时我也就真相信了)。如此,刚毕业就能有接触到Linux的工作,我当然是很兴奋而且很高兴的答应了!
 
    就这样,我在我的第一家公司一直待了13个月,这一年对我的影响是巨大的。能够和王哥一同经历创业、发展和后面的日子是我这一生最大的财富之一。还记得在离开王哥的时候,王哥对我们说,你们在我这里得到的锻炼和学到的东西其实是比较多的,因此你们这次出去了之后不要再去小公司,去小公司你们会被退化。要去大公司,然后在大公司里得到突破,接着你们就上道了。
…………
 
    第二次找工作的时候,想的就没那么单纯了,必须是Linux方面的、薪水不能低于2K、社保福利要有、要离住处不远、公司要有发展前景。
    于是,经历了找工作的一个艰辛期,“超大型招聘会”上竟然没有适合我的,我看得上他的他主动留下了我的简历说要给其他合适的部门推荐,他看得上我的我看不上他。
…………
 
后来,接到了宜锐科技的面试通知,对这家公司其实我早就有所了解了。因为我的一个好朋友就在这里当程序员。面试的时候发现戴哥人非常好,公司的业务(掌上阅读器+内容网站)也很有发展前景,而且公司的规模也还不错。于是也就同样很兴奋很积极的进入了这家公司做MIS(MIS是一个人机结合的辅助管理系统,管理和决策的主体是人,计算机系统只是工具和辅助设备。相当于:网管+监控)
 
但是,已经两个多月的网管生涯,让自己难免开始有了怀才不遇的感觉。其实对于局域网这一方面,我处理实际问题的经验还是很缺乏的,但因为从过去了日子中学到一些好的解决问题的思路,以及本身所具备的一些基础,让我在处理网络故障的时候能够快速切入,在处理硬件维护的时候也能够很快的进入状态。然而,自己理想的发展方向并不是这一方面,过去一年多的工作经验让我从王哥那里学到了多方面的东西,也有幸能够在Linux方面有所增长。
 
    但这两个月,似乎停滞了发展,所学习的东西也在逐渐的遗忘中。但理性的思考过来,其实只所以不能有所突破关键还是在于自身的原因。正如“当你感觉被埋没的时候,好好想想自己又创造了什么。”我不像秦哥那样有一个很高的起点,文凭也不具有说服力,能拿的出手的便是过去一年多的Linux工作经验与自身的综合素质,但这些都是比较隐性的,需要在工作中主动凸显出来才会被别人发现。
   
    并且,最初也的确是想通过宜锐的网管职位来寻求机会做到系统管理方面。这一决定就注定了如果不努力表现的话就只能做一般的局域网维护。
而好好反省自己,真的是没有为公司创造出比较有价值的东西。公司的局域网规范、电脑的统一管理、监控的改进、部门文档的极度缺乏等等,都需要人来规范起来。而这些机会一直都放在那里,自己却没有好好的发掘并把握住它们。
 
    秦哥离开的时候,给我说的一番话,很鼓励我。但接下来的日子里,我却未能想预期那样成为戴哥的助理。除了公司的一些原因外,自身的原因其实才是最关键的。因为就目前来说我要达到秦哥的高度是不太现实的。但想想,对戴哥来说,身边有一个做事情条理比较清楚,Linux下的具体指令操作和系统管理的动手能力很强的人为辅,应该要胜过一个同样做系统架构,理论分析等比较宏观(但能力并不是非常强)的人要更合适一些。且对公司来说,一定程度上也是资源的节约。
 
    而目前,缺的是真正创造出一些东西来改善公司不足的地方;
            缺的是进一步提升自己的能力并表现出来被他人发现;
            缺的是继承以往“没有借口”与“先自我反省”的优点;
            缺的是把工作当成自身的一项事业来做的态度。
   《DOS命令全集<中英文对照>》与《Linux命令全集<中英文对照>》便是进一步能力提升的最有力催化剂,像以前那样每天做好工作笔记与自我反省则是成就卓越的最有效方式。
    我会更加油的,那种自以为怀才不遇而怨天尤人的心态绝对不是我的本色。保持清醒的头脑和敏锐的观察力,做出切实的有力动作。开始,一切创造与卓越!

No Comments

想不说经典都不行的经典贴子

今天,在QQ吧上面无意之中看见了这个帖子,一看内容,果然是很幽默很经典!
原帖地址:http://web.qbar.qq.com/#2552,u2009627
 
现代企业职位新解
总是在裁人,简称总裁;老是板着脸,所以称老板;总想监视人,
所以叫总监;经常没道理,就叫经理;让领导秘密舒服,称为秘书。

这年头,到处都是错别字
植树造零;白收起家;
勤捞致富;择油录取;
得财兼币;检查宴收;
大力支吃;为民储害;
提钱释放;攻官小姐。

四清四不清
开啥会不清楚,开会坐哪清楚;
谁送礼不清楚,谁没送清楚;
谁干得好不好不清楚,该提拔谁清楚;
和谁睡不清楚,睡觉干什么清楚。

当代八乱
大棚把季节搞乱了,关系把程序搞乱了,
级别把能力搞乱了,法官把法律搞乱了,
公安把治安搞乱了,银子把官场搞乱了,
事故把交通搞乱了,小姐把辈份搞乱了
最……
最引人注目的哥哥──伟哥;
最年轻的奶奶──二奶;
最难设防的偷窃──偷情;
最热闹的走廊──发廊;
最畅销的书──女秘书

办公室守则
苦干实干,做给天看;东混西混,一帆风顺;
任劳任怨,永难如愿;会捧会献,杰出贡献;
尽职尽责,必遭指责;推托栽赃,邀功领赏!

和谐社会
中央机关出上联:
上级压下级,一级压一级级级加码马到成功;
地方政府对下联:
下层蒙上层,一层蒙一层层层掺水水到渠成。

官场日志
清晨起床,打拳;上午开会,打盹;
中午吃饭,打嗝;下午上班,打哈;
傍晚加班,打牌;晚上娱乐,打炮;
半夜回家,打架。

百姓语录
狠抓就是开会,管理就是收费,
重视就是标语,落实就是动嘴,
验收就是宴会,检查就是喝醉
研究就是扯皮,政绩就是神吹,
汇报就是掺水。

官场之最
最难找的地方──有关部门;
最难捉摸的官话──研究研究;
最神秘的机构──组织上;
最大的官──一把手;
最难管的东西──一张嘴;
最谦虚的时候──在上级面前;
最冠冕堂皇的语言──工作需要;
最易接受的行贿──您讲得真好!
最关心的信息──自己这次能否升迁;
最傻的高兴──你的问题组织上也考虑了
最无奈的选择──因为年龄!

组织就是......
在你遇到难事时对你说:我们无能为力!
在你遭遇用人不公时对你说:你要正确对待!
在你合法权益受侵时对你说:你要顾全大局!
在你受到诬陷时对你说:你要相信组织!

组织就是......
组织部长:谁关心我我就关心谁;
纪委书记:谁不关心我我就关心谁;
宣传部长:谁关心我, 我就关心他的正面,谁不关心我, 我就关心他的反面;
市委书记:谁关心我我就让组织部长关心他,谁不关心我我就让纪委书记关心他。

公务员素描
忙碌的公仆在包厢里,重要的工作在宴会里
干部的任免在交易里,工程的发包在暗箱里
该抓的工作在口号里,须办的急事在会议里
妥善的计划在抽屉里,应煞的歪风在通知里
扶贫的干部在奥迪里,宝贵的人才在悼词里
优质的商品在广告里,辉煌的数字在总结里

公务员素描
满腔热血投身社会,摸爬滚打终日疲惫;
低三下四谋取地位,常年奔波天天喝醉;
收入可怜啥都嫌贵,交往叩头处处破费;
有用本事已经作废,不学无术擅长开会;
口是心非阳奉阴违,溜须拍马寻找机会;
青春年华如此狼狈,苟且偷生窝囊一辈!

做人的难处
有钱吧,说你准变坏;没钱吧,说你真失败;
有成就吧,说你会投机;没成就吧,说你没出息;
有情人吧,说你真坏;没有情人吧,说你变态!

中年烦恼
职务不高,工资不高,血压血脂血糖高;
政治不突出,业务不突出,腰椎盘突出;
大会不发言,小会不发言,前列腺发炎;
炒菜糊,烧饭糊,麻将不胡。
批评上级,官位难保;批评同级,关系难搞;
批评下级,选票减少;批评自己,自寻烦恼;
批评老婆,她就乱跑;批评老公,他就乱搞;
唉,麻烦透了!

不一样……
领导用过的叫文物,百姓用过的叫废物;
领导强词夺理叫坚持真理,百姓据理力争叫无理取闹;
领导握百姓的手叫关怀,百姓握领导的手叫巴结;
领导做蠢事叫轶事,百姓做错事叫傻子;
领导情人叫小蜜,百姓情人叫破鞋。

CCTV新闻联播的惊人发现
开会没有不隆重的,闭幕没有不胜利的,讲话没有不重要的,决议没有不通过的,
鼓掌没有不热烈的,人心没有不鼓舞的,领导没有不重视的,进展没有不顺利的,
问题没有不解决的,完成没有不超额的,成就没有不巨大的,竣工没有不提前的,
接见没有不亲切的,中日没有不友好的,中美没有不合作的,交涉没有不严正的,
会谈没有不圆满的。

男女有别定律
男人爱上女人会做诗,女人爱上男人会做梦;
女人对男人往往朝思暮想,男人对女人往往朝秦暮楚;
女人看家本领是撒娇,男人拿手好戏是撒谎。
女人的幸福在于:他真的爱我,
女人吻男人算是一种幸福,
男人吻女人算是一种口福;
当女人走投无路时她会和一个男人结婚,
当男人走投无路时一个女人会和他离婚;
做情人的时候女人会让男人心疼,
做妻子的时候女人会让男人头疼。

穷人富人论
欠个人的钱是穷人,欠国家的钱是富人
喝酒看度数的是穷人,喝酒看牌子的是富人;
写书的是穷人,盗版的是富人;
吃家禽的是穷人,吃野兽的是富人
耕种土地的是穷人,买卖土地的是富人
女人给别人睡的是穷人,睡别人女人的是富人
贫穷与富裕的新解
贫穷时养猪,富裕后养狗;
贫穷时种稻,富裕后种草;
贫穷时想娶老婆,富裕后想找情人;
贫穷时老婆兼秘书,富裕后秘书兼老婆

水调歌头
重上酒楼
应酬复应酬,天天忙不休。
社交公关人情事,尽在酒里头。
泱泱五千年,底蕴多丰厚,帝王墨客江湖汉,江山美人酒。
改革大潮涌,迂腐全荡走,惟有美女权钱欲,兴盛遍神州。
工厂变歌厅,书店改酒楼,失业大军数百万,桑拿歌与酒。
上面常来人,视察加旅游,小心陪侍别出错,工作有成就。
世事多变幻,官场巧运筹,相互照应方便多,公酒交私友。
人生苦且短,工作多烦忧,哥们姐们再进一杯酒,泡完脚再走。

No Comments

推荐一个Unix平台相关文档比较全面的网站地址

http://man.chinaunix.net
 
CU隆重推出手册中心----http://man.chinaunix.net,一个旨在学习和分享的资源中心,欢迎您的使用。
  手册中心主要收集各类Linux/Unix及其下应用的技术手册文档
  旨在为大家提供一个方便查询资料的地方,也提供一个永久的有保证的存放资料的地方。

你一看,说:“不就是CU的文档中心嘛!” 是啊!就是大名鼎鼎的ChinaUnix啊,学Linux的不会不知道它吧!其实它除了论坛还有其它很多好的内容,如上面的文档中心和wiki,blog等呢!

No Comments

母校2006届(首届)毕业生留念短片


------------------------------------------------------------------------------------------------------------------------------------
我曾经一再的对自己说:“我对东软没有留念,因为,它离我梦想中的大学差的太远。”
参加工作后,我同样对自己说:“你的大学不值得一提,你需要靠你的自身能力来证明自己。”
而此刻再次看到这部短片,心中竟然会有一股感动与怀念,我终于明白:
我对她还是有留念的,因为她毕竟是我的大学;
我不该因她而羞愧,不必在周围人询问到自己的大学的时候感到难以启齿;
因为在她这里我得到了关爱与认可、学到了知识、减少了自卑、没有过多的放纵和虚度;
因为她本来就是那样的独特,工作后我才逐渐发现她那与其它普通专科院校截然不同的魅力。
------------------------------------------------------------------------------------------------------------------------------------
我们曾经认为,我们学校的任何一个学生都不能够和那些名校的学生相比;
我也曾一度的认为我们中不会有人成为厉害的、十分优秀的角色;
我们曾一度的羡慕那些名校的学生,向往着能够进入那些梦想中的校园。
------------------------------------------------------------------------------------------------------------------------------------
而工作之后,我逐渐的发现:
曾经学院里那些出色的同窗们,他们中很多人,真的很优秀,他们的综合能力在大学时期开始就超越了很多的名校学生,而在未来的工作的日子里,他们绝对能够超越更多名校的学生;
学校真的不是最重要的,重要的是你自己的锻炼,只要你有决心和勇气,在东软完全可以将自己塑造成为尤其优秀的人。能够在学校的SOVO中成功创业、能够得到华天奖学金的同学,他们绝对拥有独特的魅力。而我,在大学时代却错过了这样的机会,而浪费于同众多同学一样的无所作为与无所奢求;
------------------------------------------------------------------------------------------------------------------------------------
我是成都东软学院的首届毕业生,我的大学是成都东软学院;
我会继续努力,成为一个更有价值的,更优秀的人。
------------------------------------------------------------------------------------------------------------------------------------
祝福我的大学,祝福我的老师们,祝福我的同学们,祝福所有的东软学子们。

1 Comment