Linuxでディスクフルの時に即対出来るようにメモ
ほとんど下記のブログの通りですが自分用に再加工
http://d.hatena.ne.jp/rx7/20130729/p1
現状確認
だいたいアラートや周囲のざわつきでしる。。。
やばいディスクフルだ。。
# df -h
Filesystem Size Used Avail Use% マウント位置
/dev/sda1 15G 15G 0 100% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
全体でどこがでかいか確認
サーバへの負荷を考慮して、niceコマンドで優先度さげて実行
# 値が低い程優先度高い
# nice -n [-20から19]
# rootでない場合は、sudoする
# nice -n 19 du -h --max-depth=1 /
4.0K /cgroup
156K /dev
16K /lost+found
11G /opt
44M /boot
2.3G /usr
0 /misc
295M /var
8.0K /mnt
27M /etc
219M /tmp
0 /net
7.5M /bin
30M /root
29M /lib64
4.0K /srv
12M /sbin
0 /sys
238M /lib
0 /proc
38M /home
4.0K /selinux
4.0K /media
14G /
ディレクトリの目処つけたら
# nice -n 19 find /opt -size +100M -exec ls -lh {} \;
-rw-rw-r-- 1 ikyuadm ikyuadm 225M 12月 4 11:51 2014 /opt/monaco/var/log/archive/aaa.tar.gz
ちなみに、findの-execオプションについても調べてみた
普段は、findコマンドは-printコマンドが省略されてるから標準出力される
今回調査した、-execを使うとコマンドに対してfindの結果を渡せるので、下記のようなケースで便利という話。
コマンド | 意味 |
---|---|
-exec command{} ; | findの結果を1行ずつ処理 |
-exec command{} + | findの結果をまとめて処理 |
# 1行ずつ出力
$ find aaa -exec echo {} \;
aaa
aaa/aa.txt
aaa/bb.txt
# まとめて1行で出力
$ find aaa -exec echo {} +
aaa aaa/aa.txt aaa/bb.txt
findのオプションに関してはこれがわかりやすい
http://h50146.www5.hp.com/products/software/oe/hpux/developer/column/unixtext_app02/02.html