免费注册 查看新帖 |

Chinaunix

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

[其他] shell技术讨论--实际工作中的应用(获奖名单已公布-2014-4-21) [复制链接]

论坛徽章:
0
61 [报告]
发表于 2014-04-03 16:58 |只看该作者
本帖最后由 sandao381 于 2014-04-08 08:57 编辑

话题一,你当初为什么选择了学习shell?
简单 ,易学,易用 。提供工作效率  。
话题二,在你的实际工作中,用shell实现了哪些功能?请给出详细的背景介绍、完整的源代码和注释。
   实际应用的话,列举一个近段时间的吧,功能不负杂 。 不过却体现了shell脚本的高效和强大之处  

  【背景】公司的外呼中心刚起步阶段监控设施没有到位 。领导要求监控每天的用户接触量、业务成功量 ,每天的录音占用磁盘情况、磁盘使用率 。每台机器的磁盘使用情况 。其**涉及到 4台外呼服务器生成录音 ,1台db 记录呼叫记录 ,1台samba共享服务器做临时文件存储。
一 汇总每台机器的磁盘使用情况  。
将4台外呼服务器和samba共享服务器设置密钥登陆这样就可以将4台机器上的统计信息免密码发送到samba共享服务器上。
分别在4台外呼服务器建立如下脚本 ,并做好任务计划 。
   ------ 磁盘可用统计信息 任务计划 6点执行
  1. #!/bin/bash
  2. . /etc/profile
  3. # available
  4. # 参数为 yyymmdd 格式的日期
  5. # 统计参数指定的日期生成的录音条数,及录音占用磁盘情况和磁盘的使用情况 。
  6. # 输出格式为:日期、ip、磁盘容量、磁盘可用、使用占比、生产录音条数、录音占用磁盘大小

  7. a=`df -lh | grep /record | awk '{print $3,$4,$5 }'`;
  8. [ -n "$1" ]  && c=$1 || c=`date -d yesterday +%Y%m%d`;
  9. b=`ls -l  /record/$c |awk '{a+=$5};END {print NR,a/1024/1024"M"}'`;
  10. hostip=`ifconfig  | sed -n  '/10.236.61/s/.*:\(.*\).Bcast.*/\1/p'`;
  11. echo $c $hostip $a $b | awk 'BEGIN {OFS=","};{print $1,$2,$3,$4,$5,$6,$7}';
复制代码
------生成磁盘使用信息,并将结果scp到samba服务器 任务计划 7点执行
  1. #!/bin/bash
  2. . /etc/profile
  3. # ava_scp
  4. # 参数为 yyymmdd 格式的日期
  5. # 生成磁盘使用信息,并将结果scp到samba服务。

  6. [ -n "\$1" ]  && c=\$1 || c=\`date -d yesterday +%Y%m%d\`;
  7. hostip=\`ifconfig  | sed -n  '/10.236.61/s/.*:\(.*\).Bcast.*/\1/p'\`;
  8. available \$c> /tmp/\$hostip && scp /tmp/\$hostip root@10.236.61.247:/usr/samba ;
复制代码
在samba服务器做好任务计划汇总信息 任务计划 8点20执行
  1. #!/bin/bash
  2. . /etc/profile
  3. # ava_daily
  4. # 参数为 yyymmdd 格式的日期  
  5. # 汇总各服务器的信息。任务计划 8点20执行
  6. cd /usr/samba;
  7. find -name "10.236.61.*" | head -4 | while read filename ;do head -1 $filename >>meiriluyintongji.csv  ;done;
复制代码
二.  监控系统每天的外呼数据及录音生产数据 。
--------在db上建立如下脚本 任务计划 7点20执行
  1. #!/bin/bash
  2. . /etc/profile
  3. # daily ;
  4. # 汇总每天的外呼数据。

  5. call=`sqlplus -silent /nolog <<'END'
  6. conn VOIP_CALLCENTER1/VOIP_CALLCENTER1ALL
  7. set pagesize 0 feedback off verify off heading off echo off
  8. select  count(1)  from call_log  where to_char(begin_time,'yyyymmdd')= to_char(sysdate-1,'yyyymmdd')  ;
  9. exit ;
  10. END
  11. `  
  12. succ=`sqlplus -silent /nolog <<'END'
  13. conn VOIP_CALLCENTER1/VOIP_CALLCENTER1ALL
  14. set pagesize 0 feedback off verify off heading off echo off
  15. select count(1) from (select substr(callee_num, -11) callee_num from call_log where to_char(begin_time, 'yyyymmdd') = to_char(sysdate - 1, 'yyyymmdd') union select substr

  16. (callee, -11) from tb_call_log@call_new where to_char(begin_time, 'yyyymmdd') = to_char(sysdate - 1, 'yyyymmdd') ) a left join (select busi_code, client_tel from

  17. tb_sell_record@cm_sell where to_char(sell_time, 'yyyymmdd') = to_char(sysdate - 1, 'yyyymmdd') and callresult = 1 union  select busi_code, tel  from tb_sell_record@TMS_sell

  18. where to_char(sell_time, 'yyyymmDD') =  to_char(sysdate - 1, 'yyyymmdd') and SELLresult = 1 union select proj_code, tel from tb_sell_record@elite_retention where to_char

  19. (sell_time, 'yyyymmDD') = to_char(sysdate - 1, 'yyyymmdd')  and SELLresult = 1) b on  a.callee_num = b.client_tel where b.client_tel is not null;
  20. exit;
  21. END
  22. `
  23. hostip=`ifconfig  | sed -n  '/10.236.61/s/.*:\(.*\).Bcast.*/\1/p'`;
  24. echo -e   $call"\t"$succ > /tmp/$hostip && scp /tmp/$hostip root@10.236.61.247:/usr/samba;
复制代码
----------在samba服务器建如下脚本 生成每日呼叫数据及录音生成记录 任务计划 8点20
  1. #!/bin/bash
  2. . /etc/profile
  3. # call_log;
  4. # 生成每天的呼叫录音监控 ,

  5. day=`date -d yesterday +%Y%m%d`
  6. cd /usr/samba
  7. a=`tail -4 meiriluyintongji.csv  |awk 'BEGIN{FS=",";OFS="\t"}{a+=$7;b+=$6;}END{$1=$1;print a ,b }'`
  8. b=`cat 10.236.61.246`
  9. echo -e '日期'","'录音总量'","'成功录音总量'","'生成录音空间总大小(MB)'","'实际生成录音数'"," '丢失录音'  > call_log.csv
  10. echo -e $day  "\t"$b "\t" $a "\t""auto"  | awk 'BEGIN{FS="\t";OFS=","}END{$1=$1;print $0,$5-$2}' >> call_log.csv
复制代码
--------------------------------------------------------------

在新系统上线初期 ,如果没有这些脚本及任务计划的话每天早上上班半个小时都是在扒拉服务器的录音生成情况及呼叫记录统计 , 着实让人头疼 。 有了这些脚本领导看下samba共享 ,他关注的报表就在里面了,自此又可以上班半小时逛论坛看帖子了.



论坛徽章:
0
62 [报告]
发表于 2014-04-04 09:34 |只看该作者
1, 学习是因工作需要。不太下功夫追求语句的精练,达到目的就好。
2, 做过很多小工具 作业的管理工具 数据库管理方面的工具

论坛徽章:
0
63 [报告]
发表于 2014-04-04 09:46 |只看该作者
当初学习shell,是为了把手动工作变成自动的,而shell的语法看起来又帅气。
用途:完整的实现所有操作系统的自动安装,linux/solaris/aix/hp-ux/windows,将各个native installer合并成一个输入界面提供给end user,只需填入ip/hostname/version,然后提交资料便开始一键安装。后面也做了很多关于san operation/storage operation的工具,基本都是shell完成的

论坛徽章:
0
64 [报告]
发表于 2014-04-05 03:21 |只看该作者
很多shell大手都没漏面啊

论坛徽章:
0
65 [报告]
发表于 2014-04-06 12:09 |只看该作者
初学shell,希望以后能成为这方面的大神

论坛徽章:
16
CU十二周年纪念徽章
日期:2013-10-24 15:41:3415-16赛季CBA联赛之广东
日期:2015-12-23 21:21:55青铜圣斗士
日期:2015-12-05 10:35:30黄金圣斗士
日期:2015-11-26 20:42:16神斗士
日期:2015-11-19 12:47:50每日论坛发贴之星
日期:2015-11-18 06:20:00程序设计版块每日发帖之星
日期:2015-11-18 06:20:002015亚冠之城南
日期:2015-11-10 19:10:492015亚冠之萨济拖拉机
日期:2015-10-28 18:47:282015亚冠之柏太阳神
日期:2015-08-30 17:21:492015亚冠之山东鲁能
日期:2015-07-07 18:48:39摩羯座
日期:2014-08-29 23:01:42
66 [报告]
发表于 2014-04-06 22:33 |只看该作者
都很强大啊  我是来占位 要书的

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
67 [报告]
发表于 2014-04-07 11:29 |只看该作者
回复 66# tc1989tc


    no share no book

论坛徽章:
2
羊年新春福章
日期:2015-04-27 16:56:53射手座
日期:2015-04-27 16:58:18
68 [报告]
发表于 2014-04-08 01:33 |只看该作者
话题一,你当初为什么选择了学习shell?
很简单,shell的产生就是为了方便系统管理,自动化运维。术业有专攻!每一种语言都有他自己的优势,shell就是转为unix、linux系统管理而生。
话题二,在你的实际工作中,用shell实现了哪些功能?请给出详细的背景介绍、完整的源代码和注释,这将是我们评选的重要标准之一,如有隐私信息请做无害化处理。
awk sed是shell中精粹。回复 1# Shell_HAT


   

论坛徽章:
0
69 [报告]
发表于 2014-04-08 11:10 |只看该作者
话题一,你当初为什么选择了学习shell?
为了提高工作效率,就是楼上提到的把工作中重复性常规操作都一键化

话题二,在你的实际工作中,用shell实现了哪些功能?请给出详细的背景介绍、完整的源代码和注释,这将是我们评选的重要标准之一,如有隐私信息请做无害化处理。
主要是批处理,例如重新服务(干掉当前的,然后清理缓存文件,再启动服务)、服务监控、数据备份等,不过我还没系统的学习,一些复杂点的就不会了
谢谢楼主介绍的书,马上下单来一本啃啃

论坛徽章:
0
70 [报告]
发表于 2014-04-08 13:31 |只看该作者
有录制的视频看最好了~~看书太枯燥了~效率低,谁给贡献点啊~~~~~~~~~~谢谢了啊 ,大神们~~~~~~~~~~@Shell_HAT
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP