SHELL訓練營--day11_shell練習
阿新 • • 發佈:2019-01-03
# 第一習題,在/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