设为首页 收藏本站
查看: 824|回复: 0

第一个蹩脚的Linux shell脚本——端口连接统计

[复制链接]

尚未签到

发表于 2015-10-26 08:22:35 | 显示全部楼层 |阅读模式
  目标
在linux下实现每天8点-0点每2分钟一次统计web服务器各端口的请求情况,并输出结果到相应的log文件--shell脚本
  脚本存放目录
/opt/tomcat/bin/total.sh
  主要命令
netstat、grep、touch、cd、vi、mkdir、chmod、crontab、cat、date
  第一步:编写脚本

        1、进入脚本存放目录:cd/opt/tomcat
        2、创建文件夹、并进入: mkdir bin、cdbin
        3、创建total.sh文件:touch  total.sh
        4、写total.sh文件:vi total.sh
使用i命令在total.sh中输入以下内容
  #! /bin/sh     #定义脚本运行shell
count=0   #定义特定端口下的连接数
count1=0  #定义特定端口下来自 JAVA的连接数

#写日志
WriteLog(){
   time=`date +%D' '%T`        #获取执行时间
   out=$time,$1,$count,$count1
   echo $out >>/opt/tomcat/bin/bingfa_$1.log  #记录统计日志

# 练习使用块注解及case语法
:<<block
   case $1 in
     9080) echo $out >>/opt/tomcat/bin/log_9080.txt;;
     8080) echo $out >>/opt/tomcat/bin/log_8080.txt;;
     7080) echo $out >>/opt/tomcat/bin/log_7080.txt;;
     4080) echo $out >>/opt/tomcat/bin/log_4080.txt;;
     *) echo &quot; error &quot;
   esac
block
}
#统计并发量
Total(){
    count=`netstat -anop|grep $1 -wc`
    count1=`netstat -anop|grep java |grep $1 -wc`
    WriteLog $1
}
Total 5080  #调用
后按esc :wq保存退出,到此该脚本完成。
        5、给该文件添加可执行权限:chmod &#43;xtotal.sh
设置完成后就可以使用total.sh来运行该脚本了。
  第二步:设置定时器
接下来就是在了linux上设置使其定时执行:
linux有个Crontab程序可以很好的完成我们的目标,避免我们自己在shell脚本中写循环执行。具体如下:
crontab -l   (查看当前用户的定时程序)
crontab -e (进入编辑用户定时程序)
使用i命令,写入
*/2 8-23 * * * /opt/tomcat/bin/total.sh
输完内容后按esc :wq 保存退出
这样total.sh就会在每天的8-23点每两分钟执行一次。
  补充

  • shell脚本中定义的变量是全局的,没有作用域之分。因为刚开始由于疏忽time=`date &#43;%D' '%T`这句我是写在Total()函数中的,而在WirteLog()是直接调用$time的,结果发现程序正常运行,因此判定变量是全局的。
  • shell脚本总的两种注释方式 #注释内容或者  :<<block  注释内容  block   前者用来注释行,后者用来注释块
  • 脚本编写中的第三步可以使用 cat>total.sh 命令替代
  • crontab运行日志存放位置:/var/log/cron*
  • 查看crontab运行状态/etc/init.d/crond [status|start|stop|restart|reload]
         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-130759-1-1.html 上篇帖子: shell环境变量 下篇帖子: Shell脚本--刘晓涛
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表