綾小路龍之介の素人思考

[bash] 定期的なディスク使用量監視

bashの一行スクリプトで定期的にディスクの使用量を監視して、単位時間当たりの増分を表示させる。

10分間にあった増加量を監視するには以下。

$ while [ true ]; do a=`du | awk '{print $1;}'`; sleep 600; expr \( $a - $b \); b=$a; done

秒間の増加量の1分間平均を監視するには以下。最初の値だけは意味が違う。

$ while [ true ]; do a=`du | awk '{print $1;}'`; sleep 60; expr \( $a - $b \) \/ 60; b=$a; done
6188
4041
4503
4209
4207
4572
4455
4516
3921
4234
4326
4513

60秒のインターバルでステータス更新が60分前よりも古いものをカレントディレクトリに移動。

$ while [ true ]; do find /****************************/ -type f -cmin +60 -print0 | xargs -0 -t -P8 -n1 mv --target-directory=./; echo sleep; sleep 600; done
mv --target-directory=./ /****************************/***********************************
mv --target-directory=./ /****************************/*************************
mv --target-directory=./ /****************************/************************
sleep
mv --target-directory=./ /****************************/************************
mv --target-directory=./ /****************************/******************************************
mv --target-directory=./ /****************************/************************
mv --target-directory=./ /****************************/***********************************
mv --target-directory=./ /****************************/************************
mv --target-directory=./ /****************************/***********************************
mv --target-directory=./ /****************************/************************
mv --target-directory=./ /****************************/************************
mv --target-directory=./ /****************************/************************
sleep
mv --target-directory=./ /****************************/***********************************
mv --target-directory=./ /****************************/************************
mv --target-directory=./ /****************************/************************
mv --target-directory=./ /****************************/***********************
mv --target-directory=./ /****************************/************************

リファレンス

  1. BASH Programming - Introduction HOW-TO: Loops for, while and until
  2. シェル・スクリプト・リファレンス - 【 整数計算を行う「expr」 】:ITpro

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2010-05-20T11:15:57+09:00
  2. Modified: 2010-05-20T11:15:57+09:00
  3. Generated: 2017-06-19T23:09:17+09:00