Tomcat †
umaskを変更したい †
対策
catalina.sh の実行前に環境変数を設定する。
export UMASK ="0022"
systemd
init.d
/etc/sysconfig/myservice に設定
tomcatのデフォルトログファイルから日付を削除 †
問題点
ログフォルダにログが貯まり続け、ディスク不足になる。特に日付付きファイルが問題。日付無しファイルと中身は一緒。
catalina.out
catalina.YYYY-MM-DD.out
host-manager.YYYY-MM-DD.log
localhost.YYYY-MM-DD.log
manager.YYYY-MM-DD.log
/etc/logrotate.d/appnameを以下のように設定しても、logrotateはrotate回数によって削除するため、日付付きファイル名は1回しかローテートされず、消えずに残る。
/var/log/tomcat/appname/*.out
/var/log/tomcat/appname/*.log
{
missingok
notifempty
compress
copytruncate
dateext
su tomcat tomcat # logrotate 3.8以降必須
}
tomcatのログはプロセスが握っており、シグナルを送ってもログファイルが再作成されないため、「copytruncate」が良いかも。copy -> truncateの僅かな時間のログが消えるかもしれないがディスクフルになる方が問題なので割り切る。
apacheやnginxはシグナル(-USR1)を送ると、ログファイルを再生成してくれる
Last-modified: 2021-06-09 (水) 14:28:40