CentOS 6.3 /var/tmp 配下のファイル/ディレクトリが消える
tmpdir
を/var/tmp/mysql
に設定していたホットスタンバイのMySQLで/var/tmp/mysql
が消えてエラーになっていたのでメモ.
何が起きていたか
テーブルの定義をホットスタンバイのMySQLで確認しようとしたところ下記のようなエラーが発生.
mysql> desc hogehoge; ERROR 1 (HY000): Can't create/write to file '/var/tmp/mysql/#sql_2b8a_0.MYI' (Errcode: 2)
tmpdir
に設定していた/var/tmp/mysql
が消えていることに気付く
tmpwatch が消していた
すこし調べたところデフォルトでcronに登録されている/etc/cron.daily/tmpwatch
が/var/tmp
配下のatime/mtime/ctimeが30日以上古いファイル/ディレクトリを削除していた.
flags=-umc /usr/sbin/tmpwatch "$flags" 30d /var/tmp
/etc/cron.daily/tmpwatch
から抜粋-u
はatimeを-m
はmtimeを-c
はctimeをチェックの対象とするオプション
ホットスタンバイで全く使われなかったためにこの対象になり消されてしまったみたい.
ミドルウェアごとに分けた方がわかりやすいと思ってtmpdir
を/var/tmp/mysql
に設定していたけど,素直にデフォルトの/tmp
にした方が良かったということで.