/tmp/orbit-ユーザ名以下の謎のファイルが/tmpパーティションを圧迫する問題
公開日:
:
サーバ運用 Cent OS, inode, spamassassin, tmpwatch
この記事の所要時間:約7分43秒
これも以前から解決していなかった問題。tmpwatchの設定を変更することで解決した。
cronからのメール
cronでspamasassinを深夜に自動でアップデートしてもらうようにしているのだが、cron daemonから以下のようなメールが届く。アップデートがきちんとできていないようだ。
error: failed to open /tmp/.spamassassin21411V1ZLzrtmp/20_advance_fee.cf for write: No space left on device at /usr/bin/sa-update line 1118. channel: archive extraction failed, channel failed
inodeが限界までいっている
空き容量がない? dfで確かめても全然容量は余っているのにどうして?と思ったら、inodeの容量がいっぱいになっているらしい。inodeは何かがあまりよくわからないが、要するにファイル数が多すぎていっぱいになっているという事らしい。dfに-iオプションをつけるとinodeの様子がわかる。
# df -i Filesystem Inodes IUsed IFree IUse% マウント位置 /dev/sda3 128000 14384 113616 12% / tmpfs 240207 3 240204 1% /dev/shm /dev/sda1 76912 56 76856 1% /boot /dev/sda6 3203072 3375 3199697 1% /home /dev/sda9 76912 76908 4 100% /tmp /dev/sda7 640848 91314 549534 15% /usr /dev/sda8 128000 133 127867 1% /usr/local /dev/sda5 6406144 19409 6386735 1% /var /dev/sdb1 30531584 11 30531573 1% /mnt/backup_exHDD
/tmpのIUSE%が100%になっている。更に見ると、/tmp/orbit-(ユーザ名)というディレクトリに7万個ぐらいのファイルがあるらしい。orbitというのはダウンローダらしく、おそらくspamassassinが使っている? 解消するためには、もちろんこれらを削除してやればいいんだけど、cron daemonからメールが来てその都度消すのでは根本的な解決にはならない。
/tmpと/var/tmpを定期的に掃除するtmpwatch
/tmpディレクトリの中は以下のような/etc/cron.daily/tmpwatchというスクリプトが定期的に掃除してくれているらしい。
#! /bin/sh flags=-umc /usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \ -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \ -X '/tmp/hsperfdata_*' 10d /tmp /usr/sbin/tmpwatch "$flags" 30d /var/tmp for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do if [ -d "$d" ]; then /usr/sbin/tmpwatch "$flags" -f 30d "$d" fi done
中を見ると、/tmpでは10日間、/var/tmpでは30日間アクセスがないファイルを削除するようになっているようだ。
tmpwatchの設定を変更することで解決
次に、/tmp/orbit-userの中身の最終アクセス日がどうなっているか見てみる。
$ ls -tlu /tmp/orbit-user | tail -20 srwxr-xr-x. 1 degawa degawa 0 5月 21 07:54 2013 linc-78e-0-52e0b43c38150 srwxr-xr-x. 1 degawa degawa 0 5月 21 07:54 2013 linc-7a5-0-11398a0d94974 srwxrwxr-x. 1 degawa degawa 0 5月 21 07:54 2013 linc-756-0-7a9faa8e7381 srwxrwxr-x. 1 degawa degawa 0 5月 21 07:54 2013 linc-762-0-371d340edac5b srwxr-xr-x. 1 degawa degawa 0 5月 21 07:54 2013 linc-781-0-737f151cd3569 -rwx------. 1 degawa degawa 0 5月 21 07:54 2013 bonobo-activation-register-1f44f07085e03b492241b81a0000004b.lock srwxrwxr-x. 1 degawa degawa 0 5月 21 07:54 2013 linc-752-0-5e16f2c53f795 srwxr-xr-x. 1 degawa degawa 0 5月 21 07:54 2013 linc-757-0-5d5e994fbd526 srwxrwxr-x. 1 degawa degawa 0 5月 21 07:54 2013 linc-6ef-0-4cf3caf52400f srwxrwxr-x. 1 degawa degawa 0 5月 21 07:54 2013 linc-740-0-75c73dddafa78
本日が5/24なので、3日前のファイルが一番古いという状態で/tmpパーティションのinodeがいっぱいになってしまったことがわかる。
というわけでtmpwatchの”10d”となっているところを”2d”に変更した。これで、spamassassinのアップデートでtmpがいっぱいになることはない、はず。tmpファイルは所詮一時的に必要なものしかないはずなので、2日でさっさと削除しても問題ない・・・・よね?
関連記事
-
最近の自宅サーバ事情
最近一番問題なのが、以前までMac miniの方で起きていた不定期にネットが切断される現象が、サーバ
-
ApacheにDigest認証を設定する方法
私は自鯖でownCloud、phpMyAdmin、Cactiを使っているのですが、外部に外部
-
Postfixに新規ユーザを追加する場合の手順
送受信どちらも問題なくできるようになり、ひとまず安心。 サブで使ってるユーザアカウントの方のア
-
玄人志向のHDDケースを買った。
先日、ふとしたきっかけで500GBのSATAのHDDが手に入ったので、HDDケー
-
メールでログを届けてくれるlogwatchをインストール
logwatchとは/var/logの内容を1日に一回メールで送ってくれるもの。 これがなかなかけ
-
メールサーバが少しできた。
いよっしゃああああああ!!!! 受信だけは問題なくできるようになりました。受信だけです
-
Cent OSサーバを起動するたびにいろいろとプロセスがクラッシュする問題
いつからか、Cent OSサーバを再起動するたびに件名が" full clash repor
-
WordPress記事にツイートを埋め込むテスト
なんとWordPressでは何もプラグインを導入しなくても、デフォルトでTwitterのツイートを貼
-
USB外付けHDDをext4にフォーマットする手順
前エントリの玄人志向のHDDケースを買った。で出来上がった外付けHDDをフォーマットして、Cent
-
/tmpパーティションの領域の拡大をしてみる
今回拡大するのは/tmpパーティション。学校のデータベースの講義でDB2 express-cを使うか