脚本学习 game.sh
#!/bin/bash
#game_error.sh if [[ $# -lt ]]; then #$#表示参数个数 -lt小于
echo "Usage: game_error.sh time[20170710]"
exit
fi source ./remote_cmd.sh #相当于include MYSQL_MFW="/usr/local/mysql/bin/mysql -h10.84.248.207 -ulogstat -plogstat123 -Ddb_mfw -N" #-D:指定连接的数据库 -N:--skip-column-names
dump_date=$ #第一个参数 tmp_fifofile="/tmp/$$.fifo" #$$:Shell本身的PID(ProcessID)
mkfifo $tmp_fifofile #创建fifo文件
exec <>$tmp_fifofile #关联FIFO文件和fd6
rm -f $tmp_fifofile #将fd6指向fifo类型
thread=
for ((i=;i<$thread;i++));do
echo
done >& #向fd6输入20个回车 dst_dir=/data/game_error
if [ ! -d "$dst_dir" ]
then
mkdir -p $dst_dir
fi rm ${dst_dir}/* ${MYSQL_MFW} -e "select division,node from t_service where app='MOBA' and server='GameServer';" | while read line #-e:执行 循环读到line里面
do
read -u6 #从6号fd中读取
{
zone_id=`echo $line |awk '{print $1}' |cut -d'.' -f3` #$1:moba.zone.10 zone_id:10
zone_ip=`echo $line |awk '{print $2}'` #$2:192.168.40.220 zone_ip:192.168.40.220
source_dir="/data/applog/MOBA/moba.zone.${zone_id}/GameServer/MOBA.GameServer_error_${dump_date}.log"
getfile mulong@${zone_ip} ${source_dir} ${dst_dir}/MOBA.GameServer_error_${dump_date}_${zone_id}.log #scp
echo >&6
}&
done sleep 5
exec 6>&-
# -F"|" 以|分割 第6列不为空 -r降序
cat ${dst_dir}/MOBA.GameServer_error_*.log|grep GameServer|awk -F"|" '{if($6!="") a[$6]++}END{for (i in a) printf("%-8s %s\n", a[i],i)}'|sort -r -n -k1 > error_g_${dump_date}.txt
cat error_g_${dump_date}.txt
echo "success"
脚本学习 game.sh的更多相关文章
- sh脚本学习之: sh脚本 、sed、awk
sh脚本 sh命令的批处理文件,支持更复杂的逻辑. Shell中的变量 参数 $0 当前脚本路径 $1....$n 脚本执行对应的第n个参数 条件判断 文件判断 test [op] path e存在 ...
- 06- Shell脚本学习--其它
Shell输入输出重定向 Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示.一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器. 输出 ...
- 04- Shell脚本学习--条件控制和循环语句
条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...
- 02- Shell脚本学习--运算符
Shell运算符 Bash 支持很多运算符,包括算数运算符.关系运算符.布尔运算符.字符串运算符和文件测试运算符. 算术运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 aw ...
- 01- Shell脚本学习--入门
简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把它们称作一种Shell.我们常说有多少 ...
- 转 shell脚本学习指南
shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...
- shell脚本学习-文件包含
跟着RUNOOB网站的教程学习的笔记 和其他语言一样,shell也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件.shell文件包含的语法有两种形式 . filename # ...
- shell 脚本学习
Shell简介 概述 Shell是一种具备特殊功能的程序,它提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令,并把它送入内核去执行.内核是Linux系统的心脏,从开机自检就驻留在计算机的内 ...
- shell脚本学习总结02--数组
bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...
随机推荐
- MyBatis整合Spring MVC
前面几篇文章已经讲到了mybatis与spring 的集成.目前主流的Web MVC框架,除了Struts这个主力外,还有Spring MVC,主要是由于 Spring MVC 配置比较简单,使用起来 ...
- 【转载】C#反射机制详解
反射的定义:审查元数据并收集关於它的类型信息的能力,元数据(编辑后的基本数据单元)就是一大堆表,编译器会创建一个类定义表,一个字段定义表,一个方法定义表等,System.Reflection命名空间包 ...
- MongoDB 3.X JAVA基本操作
对Collection的操作 import java.util.ArrayList; import java.util.Iterator; import java.util.List; import ...
- R语言ggplot2中的panel. strip 基本概念
ggplot2 是一套独立的绘图系统,在一个完整的ggplot2的图表中,会有下面几个概念: 1) plot 2) panel 3) strip 4) legend 所有这些元素都会出现在图表中 代码 ...
- python numpy 下载地址
网上找了半天,终于把要安装的资料找到了.其他的不怎么全,就自己再次总结一下写. 我自己安装的是python 2.7.所以以下的东东都是针对2.7的软件. numpy :http://s ...
- PHP多文件上传操作
在前一篇文章里讲到了关于PHP文件上传原理和简单操作举例是单文件上传. http://www.cnblogs.com/lichenwei/p/3879566.html 其实多文件上传和单文件上传大同小 ...
- thikphp5.0 ip地址库 解决卡顿问题 curl_init
使用淘宝新浪的地址库非常的使用,但是调用有时候会出现很慢.会导致卡在当前网页. 要想不影响当前速度,因此要使用 curl_init功能. 项目案例:会员登陆日志 user_log 字段:id,user ...
- HOStringSense大段字符串检测器
下载地址:https://github.com/holtwick/HOStringSense-for-Xcode 修改HOStringSense.xcodeproj工程里的HOStringHelper ...
- UNIX环境编程学习笔记(4)——文件I/O之dup复制文件描述符
lienhua342014-08-23 UNIX 提供了两个函数 dup 和 dup2 用于复制一个现存的文件描述符. #include <unistd.h> int dup(int fi ...
- VIM技巧:选择文本块
在正常模式下(按ESC进入)按键v进入可视化模式,然后按键盘左右键或h,l键即可实现文本的选择.其它相关命令:v:按字符选择.经常使用的模式,所以亲自尝试一下它. V:按行选择.这在你想拷贝或者移动很 ...