warファイルからお手軽起動したGitBucketの画像やCSSがなくなる

火曜日 , 15, 7月 2014 Leave a comment

 GitBucketの設定をリセットする場合という記事でwarファイルから簡単にGitBucketを起動して運用してみたことについて言及しました。

 しかし、このGitBucket環境。しばらく使っているとなぜか画像が表示されなくなったり、CSSが効かなくなったり・・・。

 warファイルを再起動するとなぜか治るので不思議とTwitterにつぶやいたら・・・

008

 という助言をいただく。

 確かに起動すると/tmp/jetty-0.0.0.0-8080-gitbucket.warというディレクトリに色々展開している模様。

 CentOSは/tmpとか/var/tmpなどにおかれたファイルを一定時間更新がないと削除するから確かにこれが怪しい。

 というわけで挙動について確認すると、/usr/sbin/tmpwatchというコマンドでファイルを削除しているらしく、

 その辺は毎日実行するクロンとして/etc/cron.daily/tmpwatchに定義されている(もしかしてこれ常識?)。

 そもそも/tmpに作成するのが間違っているのだが、指定先を変えるオプションなどがわからない・・・。

 tmpwatchは-xオプションで除外ファイルを指定できるようなのでこれを指定することに(正しい方法ではない気がするが)。

 このファイルを以下のように書き換えて様子見。結果は後ほど。

flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
        -x /tmp/jetty-0.0.0.0-8080-gitbucket.war -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
        -X '/tmp/hsperfdata_*' 240 /tmp
/usr/sbin/tmpwatch "$flags" 720 /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
    if [ -d "$d" ]; then
        /usr/sbin/tmpwatch "$flags" -f 720 "$d"
    fi
done

Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です