文章目录 每天一个文件记录磁盘使用情况 统计IP访问量 统计所有进程使用的内存总量 每天一个文件记录磁盘使用情况 #!/bin/bash d=`date +%F` dir=/data/disklog #判断文件存放目录是否存在 if [ ! -d $dir ] then mkdir $dir fi df -h > $dir/$d.txt #只保留30天内的记录文件 find $dir/ -mtime +30 |xargs rm 统计IP访问量 通过nginx访问日志,统计IP的访问量,日志信息如下: 192.168.111.129 - - [09/Nov/2019:21:10:29 +0800] "GET / HTTP/1.1" 200 32 "-" "curl/7.29.0" "-" 192.168.111.129 - - [09/Nov/2019:21:10:30 +0800] "GET / HTTP/1.1" 200 32 "-" "curl/7.29.0" "-" 192.168.111.129 - - [09/Nov/2019:21:10:32 +0800] "GET / HTTP/1.1" 200 32 "-" "curl/7.29.0" "-" 192.168.111.129 - - [09/Nov/2019:21:13:24 +0800] "GET / HTTP/1.1" 200 18 "-" "curl/7.29.0" "-" 192.168.111.129 - - [09/Nov/2019:21:13:27 +0800] "GET / HTTP/1.1" 200 18 "-" "curl/7.29.0" "-" 192.168.234.1 - - [09/Nov/2019:22:01:34 +0800] "GET / HTTP/1.1" 200 21 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36" "-" 192.168.234.1 - - [09/Nov/2019:22:01:34 +0800] "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.234.200/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36" "-" 192.168.234.1 - - [09/Nov/2019:22:01:36 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36" "-" 192.168.234.1 - - [09/Nov/2019:22:01:37 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36" "-" #访问日志记录了每次请求的IP地址,所以统计每行最前面的IP地址数量即可 #!/bin/bash log=/tmp/access.log awk '{print $1}' $log |sort|uniq -c|sort -n -r #执行该脚本即可将IP访问的次数从大到小输出 统计所有进程使用的内存总量 查看所有进程: [root@linux shell]# ps -aux |head USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.3 125656 3728 ? Ss 11月20 0:34 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 11月20 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? S< 11月20 0:00 [kworker/0:0H] root 5 0.0 0.0 0 0 ? S 11月20 0:03 [kworker/u128:0] root 6 0.0 0.0 0 0 ? S 11月20 0:09 [ksoftirqd/0] root 7 0.0 0.0 0 0 ? S 11月20 0:00 [migration/0] root 8 0.0 0.0 0 0 ? S 11月20 0:00 [rcu_bh] root 9 0.0 0.0 0 0 ? R 11月20 0:14 [rcu_sched] root 10 0.0 0.0 0 0 ? S< 11月20 0:00 [lru-add-drain] #第六列RSS即是每个进程的内存使用量 脚本思路:grep -v 过滤掉第一行内容,awk获取第六列的值,循环遍历每行的RSS值并相加即可得出所有进程的内存使用量 #!/bin/bash sum=0 for i in `ps -aux|grep -v "%CPU %MEM"|awk '{print $6}'` do sum=$[$sum+$i] done echo $sum (责任编辑:IT) |