很low的監控目錄下文件目錄大小的變化和時間的更新簡單shell

    需求須要看看一個目錄下文件的大小變化和時間的變化狀況,花了點時間寫了一個很Low的shell腳本,有意見能夠在下方評論,我會及時回覆的。shell

#/bin/bash
#須要修改directory的目錄的值換成本身的,以後加crontab " */5 * * *  * /home/wuyantao/directory.sh",添加執行權限 chmod +x directory.sh
#統計的目錄就修改下面的注意後面沒有"/" 
directory="/home/wuyantao"
#最後統計的位置的結果保存的位置文件絕對路徑
directorylog="/tmp/directory.log"

echo "#################################開始##################################"
echo -n "目錄的總大小爲:"
du -sh $directory |cut -f 1 
echo "目錄詳細狀況爲:"
du -sh $directory/*
echo -e "\n"
du -sk $directory/* |sort -nr |cut -f 2 > /tmp/zong.log 

for xx in `cat /tmp/zong.log`
do
if [ -f $xx ]
then
echo $xx >> /tmp/wenji2.log
ls -l $xx |awk '{print $8"--"$6"--"$7}' >> /tmp/wenji3.log
elif [ -d $xx ]
then
   echo $xx >> /tmp/mulu2.log
ls -ld $xx |awk '{print $8"--"$6"--"$7}' >> /tmp/mulu3.log
fi
done
##################分別處理文件,目錄######################################################
for aa in `cat /tmp/wenji2.log`
do
du -sh $aa >> /tmp/wenji4.log 
done
for bb in `cat /tmp/mulu2.log`
do
du -sh $bb >> /tmp/mulu4.log 
done

paste /tmp/wenji3.log /tmp/wenji4.log > /tmp/wenji5.log
paste /tmp/mulu3.log /tmp/mulu4.log > /tmp/mulu5.log
cat /tmp/wenji5.log /tmp/mulu5.log >> $directorylog
shijian=`date "+%Y-%m-%d %H:%M:%S"`
echo "更新的時間爲:$shijian" >> $directorylog
echo "##################################################################################" >> $directorylog
rm -f /tmp/zong.log /tmp/wenji3.log /tmp/mulu3.log /tmp/wenji2.log /tmp/mulu2.log /tmp/mulu4.log /tmp/wenji4.log /tmp/mulu5.log /tmp/wenji5.log
echo "###############################結束###################################"

最後的日誌directorylog效果以下:bash

QQ截圖20190611083440.jpg

相關文章
相關標籤/搜索