运维常用命令

  • redis模糊匹配批量删除键值
    redis-cli KEYS "pattern" | xargs redis-cli DEL

  • 查询日志访问次数排行
    tail access.log -n 20000|awk '{print $7}'|sort|uniq -dc|sort -n

  • 按文件扩展名grep字符串
    grep -r --include=\*.py User

  • 分析LOG日志游戏包下载次数
    cat chn_app_rec.log|awk '{if ($1=="2017-02-12" && $5==2000973 && $8==2110000) print $0}'|wc -l

  • 分析log日志某个url指定日期访问次数
    cat access.log |awk '{if ($7 ~ /rec\/app\/detail\/xmqy2110000.html/ && $4 ~ /12\/Feb/) print $0}' > /tmp/2-12-rec.log

  • 分析日志某个url 并且返回码是500的统计
    cat access.log |awk '{if ($7 ~ /api\/wechat/ && $9 != "200") print $1}'|sort|uniq -c|sort -nr -k 1

  • 分析nginx access log 的URL请求总数, 请求总时间,请求平均时间

    tail /data/log/nginx/api.mobi.ouwan.com.access.log -n 5000 | awk '/[0-9]\.[0-9]{3}$/{print  $NF, $7}'|cut -d "?" -f 1|awk '{url[$2]+=$1;url_count[$2]++}; END {for (k in url) print "url: " k, "time_consume: "url[k], "request_count: " url_count[k], "avg_time_consume: " url[k]/url_count[k]}'

    输出内容

    url: /essay/nativeEssayByHostId/ time_consume: 0.257 request_count: 3 avg_time_consume: 0.0856667
    url: /test/user/nativeFollowCommunityList/ time_consume: 1.361 request_count: 15 avg_time_consume: 0.0907333
    url: /mission/nativeGetCouponReward/ time_consume: 0.208 request_count: 4 avg_time_consume: 0.052
    url: /mission/nativeMissionSignin/ time_consume: 7.021 request_count: 43 avg_time_consume: 0.163279
    url: /user/nativeMyInfo/ time_consume: 89.307 request_count: 1127 avg_time_consume: 0.0792431
    url: /test/user/nativeMyInfo/ time_consume: 28.502 request_count: 15 avg_time_consume: 1.90013
  • 获取socket链接状态统计
    ss -ant|awk '{s[$1]++} END {for (k in s) print k, s[k] }'

    CLOSE-WAIT 4
    ESTAB 130
    TIME-WAIT 64
    LISTEN 64
    SYN-SENT 3
    State 1
  • awk 显示行数
    awk '{print NR " == " $0}' /etc/passwd

uniq 是去除相邻重复的两行, 所以用uniq之前先sort一下,把重复的都放到相邻位置
uniq
-c 统计重复行出现次数
-n 按数字大小排序
-r 倒序排列
-k 以第几列排序

    统计的IP
    次数  IP
     81 101.226.62.17
     51 101.226.233.156
     50 101.226.233.146
     49 101.226.62.79
     44 101.226.233.141
     42 101.226.233.151
     42 101.226.233.143
      .....
  • 快速生成100M的文件 填入一个10MB的随机比特流数据
    head -c 10M < /dev/urandom > /var/log/log-file

  • grep 的and 和 or

# 同时有这个搜索条件的行数
grep -E 'pattern1.*pattern2' filename
cat chn_app_rec.log|grep -E '2017-02-13.*2000973.*2104006'

# 同时搜索p1&&p2 || p1&&p3
grep -E 'pattern1.*pattern2|pattern1.*pattern3' filename
cat chn_app_rec.log|grep -E '2017-02-13.*2000973.*2098000|2017-02-15.*2000973.*2098000'


# or 用法1
grep 'pattern1\|pattern2' filename
# or 用法2
grep -E 'pattern1|pattern2' filename
# or 用法3
grep -e pattern1 -e pattern2 filename

# and 用法
grep -E 'pattern1.*pattern2' filename
grep -E 'pattern1.*pattern2|pattern2.*pattern1' filename

grep 链接 http://www.thegeekstuff.com/2011/10/grep-or-and-not-operators/

  • 使用grep 查找文件名
    find ./ |xargs grep keyword
  • 查看进程gid (按格式输出ps内容)
    ps ax o user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,comm,group,gid
    ps ax o user,gid,pgid,pid,group,start,time,command|grep owan_web
    ps o 格式详解: http://blog.csdn.net/shuanghujushi/article/details/51814447
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值