需求須要看看一個目錄下文件的大小變化和時間的變化狀況,花了點時間寫了一個很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