noob

底辺オペレーターのメモ

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にした方が良かったということで.