shell内置命令与nginx日志切割,各种统计

root
233
文章
0
评论
2020年2月2日23:08:26 评论 1983字阅读6分36秒

shell内置命令

  • exit   退出整个程序
  • break   结束当前循环,或跳出本层循环
  • continue  忽略本次循环剩余的代码,直接进入下次一循环

exit

结束循环体内的循环,循环体外的内容直接结束

break

结束循环体内的循环,但会执行循环体外的内容

continue

不管循环体内信息是否存在都会继续循环,会执行循环体外的内容

Nginx日志切割脚本

使用logrotate日志切割工具,放在/etc/logrotate.d/nginx

/var/log/nginx/*.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 nginx adm
        sharedscripts
        postrotate
                if [ -f /var/run/nginx.pid ]; then
                        kill -USR1 `cat /var/run/nginx.pid`
                fi
        endscript
}

daily:

missingok:日志丢失忽略

rotate 52:日志保留52天

compress:日志文件压缩

delaycompress:延迟压缩日志

notifempty:不切割空文件

create 640 nginx adm:日志的权限

postrotate:切割日志执行的命令

统计一天的pv量

[root@Kk ~]# awk '{print $1}' /var/log/nginx/access.log|sort|uniq -c|awk '{sum+=$1}END{print sum}'
269

统计cpu的颗数

[root@web01 ~]# lscpu |awk 'NR==4{print $2}'
8

统计cpu的型号

[root@web01 ~]# lscpu| awk 'NR==13{print $3,$5,$6,$8}'
Intel(R) i7-8750H CPU 2.20GHz

统计主机IP地址

[root@web01 ~]# ifconfig|awk 'NR==2{print $2}'
192.168.5.7

统计主机名

[root@web01 ~]# hostname
web01

统计内存使用率

[root@web01 ~]# free -m|awk 'NR==2{print $3/$2*100}'
43.3402

统计 / 分区使用率

[root@web01 ~]# df -h|grep /$|awk  '{print int($(NF-1))}'
43

统计磁盘分区大小

[root@web01 ~]# fdisk -l|grep Disk|sed -n '1p;4p'|awk '{print $2 $3 $4}'|sed 's#,##g'
/dev/sda:21.5GB
/dev/sdb:6442MB

统计一台服务器Failed的恶意IP地址

按IP地址进行统计
[root@kk ~]# less /var/log/secure|grep -v "pam_systemd"|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|sort -rn
   1297 60.13.122.12
   1023 106.52.13.69
    570 223.112.134.201
    158 183.245.52.224
    156 222.186.169.192
    124 1.234.19.133
    120 222.186.175.182
    120 222.186.173.154
    108 222.186.175.181
    108 222.186.175.140

[root@Kk ~]# less /var/log/secure|grep -v "pam_systemd"|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|sort -rn
      2 77.34.239.94
      2 14.186.225.48
      1 80.33.87.61
      1 58.87.76.32
      1 27.72.89.152
      1 163.172.50.34
      1 139.162.122.110
      1 13.82.80.22
      1 103.24.96.108

按IP地址进行统计显示日期进行统计
[root@Kk ~]# less /var/log/secure|grep -v "pam_systemd"|awk '/Failed/{print $1,$2,$(NF-3)}'|sort|uniq -c|sort -rn
2 Feb 4 14.186.225.48
2 Feb 3 77.34.239.94
1 Feb 5 27.72.89.152
1 Feb 5 103.24.96.108
1 Feb 4 80.33.87.61
1 Feb 4 58.87.76.32
1 Feb 4 163.172.50.34
1 Feb 3 13.82.80.22
1 Feb 2 139.162.122.110

统计Linux系统所有进程占用内存的大小的和

[root@web01 ~]# ps aux|awk '{print $6}'|grep -v RSS|awk '{x+=$1}END{print x}'
359492

 

继续阅读
weinxin
我的微信
这是我的微信扫一扫
  • 文本由 发表于 2020年2月2日23:08:26
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
网站数据会滚脚本 shell

网站数据会滚脚本

网站数据会滚脚本 当代码经过测试环境后,正式进入生产环境,突然发现有问题,这时候需要立刻还原数据,写一个简单的网站代码回滚脚本 java项目的 #!/bin/bash Web_Dir=/server/...
三剑客练习 shell

三剑客练习

三剑客练习 grep I am hewenfu teacher! I teach linux. test I like badminton ball ,billiard ball and chines...
awk练习 shell

awk练习

awk 1.列出UID=0的用户 # awk -F : '$3==0' /etc/passwd root:x:0:0:root:/root:/bin/bash 2.列出系统的用户 # awk -F :...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: