SHELL训练营--day11_shell练习

# 第一习题,在/data/logs/disklog目录下每天保存磁盘信息日志文件,以日期为文件名.并删除一年前文件
#!/sbin/bash
d=`date +%F`
dir=/data/logs/disklog

if [ ! -d $dir ]
then
    mkdir -p $dir
fi

df -h >$dir/$d.logs

find $dir/  -mtime +365 | xargs rm

# 第二习题,统计日志IP,并排序,列出前10个访问最高
awk '{print $1}' 1.log| sort |uniq -c| sort  -n |head -10

# 第三习题,统计所有进程战用的内存使用总量
#!bin/bash
sum=0
for n in `ps aux| grep -v "RSS TTY"|awk '{print $6}'`
do
    sun=$[ $sum+$n ]
done

# 第四习题,判断主机存活
#!/bin/bash

n=`ping -c10 192.168.0.5|grep 'packet'| awk -F '%' '{print $1}'|awk '{print $NF}'`
[email protected]

if [ $n -ge 50 ]
then
    python mail.py $m "机器宕机" “丢包是$n%”
fi

# 第五习题,批量修改文件
#/bin/bash
find /123 -type -f -name '*.txt' -exec mv {} {}.bak \;
find /123 -type -f -name '*.bak' -exec tar -rf 1.tar.gz {} \;

for i in `tar -tf 1.tar.gz`
do
    mv $i.bak $i
done

猜你喜欢

转载自blog.51cto.com/sincethen/2338091