Wordpressの動作不良の原因はi-node枯渇だった
数日前にWordpressで記事を書こうと思って、その記事用の画像をアップロードしようとしたら、「一時フォルダが見つかりません」なんてエラーが出てアップロードに失敗した。
ぐぐってみてもそれっぽい情報が得られないまま。
他の仕事で忙しかったので放置してたんだけど、今日もちょっと調べてみた。
なにかをしようとしたところ、fopen()でエラーが発生したみたいなメッセージが出た。さらに、wp-config.php でログファイルにエラーの内容を出力するようにしてみたんだけど、ログファイルが作られないという謎の現象。
いろいろと調べてたら、なんと i-node を使いきっているということが判明した。
[root@dti spool]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/simfs 18446744069835526396 18446744069420584321 414942075 100% / none 524288 38 524250 1% /dev
df -i したら、なんかすごい数が表示されたし。
i-node を減らすにはファイルを削除するしかないわけで。そこで、消してもいいファイルを探してみたところ、/var/spool/clientmqueue ってところに膨大なファイルが作られているということを発見。ls で表示しようとしてもまったく反応しないほど大量に作られているらしい。
[root@dti spool]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/simfs 6000000 5978710 21290 100% / none 524288 38 524250 1% /dev
思い切ってディレクトリごと削除する。
$ rm -fr /var/spool/clientmqueue
削除するのに1時間近くかかった。
[root@dti spool]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/simfs 6000000 405181 5594819 7% / none 524288 38 524250 1% /dev
ここのファイルをcronで自動的に削除するようにしなきゃなー。