ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
あまり大きな問題となっていなかったので放置していたのですが、シスログがローテーションされるものの古いファイルを全然削除してくれなかったので、設定を見直すことにしました。
上記の通り過去ログが削除されておりません。ディスク容量の逼迫すら起こしています。cronの設定を確認してみると
# cd /etc # ls -al cron.* -rw------- 1 root root 0 8月 9 08:07 cron.deny cron.d: 合計 20 drwxr-xr-x. 2 root root 37 1月 1 21:44 . drwxr-xr-x. 87 root root 8192 1月 1 21:27 .. -rw-r--r-- 1 root root 128 8月 9 08:07 0hourly -rw-r--r-- 1 root root 132 1月 1 21:10 1wordpress cron.daily: 合計 24 drwxr-xr-x. 2 root root 62 1月 1 21:20 . drwxr-xr-x. 87 root root 8192 1月 1 21:27 .. -rwxr-xr-x 1 root root 332 8月 8 20:57 0yum-daily.cron -rwx------ 1 root root 219 10月 31 2018 logrotate -rwxr-xr-x 1 root root 618 10月 30 2018 man-db.cron cron.hourly: 合計 20 drwxr-xr-x. 2 root root 44 1月 1 21:10 . drwxr-xr-x. 87 root root 8192 1月 1 21:27 .. -rwxr-xr-x 1 root root 392 8月 9 08:07 0anacron -rwxr-xr-x 1 root root 362 8月 8 20:57 0yum-hourly.cron cron.monthly: 合計 12 drwxr-xr-x. 2 root root 6 6月 10 2014 . drwxr-xr-x. 87 root root 8192 1月 1 21:27 .. cron.weekly: 合計 12 drwxr-xr-x. 2 root root 6 6月 10 2014 . drwxr-xr-x. 87 root root 8192 1月 1 21:27 .. cron.wordpress: 合計 16 drwxr-xr-x 2 root root 26 1月 1 21:10 . drwxr-xr-x. 87 root root 8192 1月 1 21:27 .. -rwxr-xr-x 1 root root 416 1月 1 21:01 0wp-cron.cron #
ログのローテーション(logrotate)はcron.daily配下にありますので、日次で実行されていることが確認できます。では、logrotateの実行はどのようになっているかというと、
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
# system-specific logs may be also be configured here.
このようになっており、
メモ
- 実行は週次
- 過去ログは4週間分保存
- /etc/logrotate.d ディレクトリ配下を読み込む
となっています。そこで/etc/logrotate.d/配下を見てみると、
# cd /etc/logrotate.d # ls -al 合計 52 drwxr-xr-x. 2 root root 4096 1月 1 21:29 . drwxr-xr-x. 87 root root 8192 1月 1 22:36 .. -rw-r--r-- 1 root root 91 8月 6 22:44 bootlog -rw-r--r-- 1 root root 160 9月 19 2018 chrony -rw-r--r-- 1 root root 194 8月 6 22:44 httpd -rw-r----- 1 root named 514 8月 8 21:16 named -rw-r--r-- 1 root root 203 12月 17 22:10 php-fpm -rw-r--r--. 1 root root 136 6月 10 2014 ppp -rw-r--r-- 1 root root 237 1月 1 21:29 syslog -rw-r--r-- 1 root root 100 10月 31 2018 wpa_supplicant -rw-r--r-- 1 root root 103 8月 8 20:57 yum #
いかにもsyslogファイルに設定が書き込まれていそうですね。
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
rotate 90 90週!!8週ぐらいに変更
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
ビンゴです。これは設定ファイルのバグでは…。設定の意味を解説すると、
メモ
- ログの対象は、maillog、messages、secure、spooler
- ログの保存期間は90週!?
となっています。90週(55週で1年!)じゃいつまで経っても消えないわけだ、ということでここを2ヶ月程度に変更して完了です。
ちなみに、ログローテーションの最終実行日は対象ファイル毎に/var/lib/logrotate/logrotate.statusファイルに書き込んでありますので1週間経過後に確認してみて下さい。
# cat /var/lib/logrotate/logrotate.status logrotate state -- version 2 "/var/log/httpd/hne-access_log" 2019-12-30-9:44:21 "/var/log/httpd/C.O.G.-access_log" 2018-3-18-8:38:32 "/var/log/httpd/kamata-net.com-access_log" 2019-12-30-9:44:21 "/var/log/httpd/deflate_log" 2019-12-30-9:44:21 "/var/log/yum.log" 2020-1-1-8:50:46 "/var/log/httpd/ssl_access_log" 2019-12-30-9:44:21 "/var/log/httpd/kusama-access_log" 2016-12-26-6:0:0 "/var/named/data/named.run" 2020-1-1-8:0:0 "/var/log/boot.log" 2020-1-1-8:50:46 "/var/log/httpd/yeah-access_log" 2019-12-30-9:44:21 "/var/log/httpd/kamata-net.jp-error_log" 2019-12-30-9:44:21 "/var/log/httpd/avons-error_log" 2016-12-26-6:0:0 "/var/log/httpd/asahi-error_log" 2019-12-30-9:44:21 "/var/log/httpd/kamata-net.jp-access_log" 2019-12-30-9:44:21 "/var/log/httpd/avons-access_log" 2016-12-26-6:0:0 "/var/log/httpd/error_log" 2019-12-30-9:44:21 "/var/log/httpd/ssl_error_log" 2017-5-7-7:7:15 "/var/log/chrony/*.log" 2020-1-1-8:0:0 "/var/log/wtmp" 2016-12-26-6:0:0 "/var/log/httpd/cannon-ball.net-error_log" 2018-7-14-5:39:7 "/var/log/php-fpm/www-error.log" 2019-12-30-9:44:21 "/var/log/spooler" 2019-12-30-9:44:21 "/var/log/btmp" 2020-1-1-8:50:46 "/var/log/httpd/kusama-error_log" 2016-12-26-6:0:0 "/var/log/httpd/cannon-ball.net-access_log" 2018-12-2-7:58:43 "/var/log/maillog" 2019-12-30-9:44:21 "/var/log/httpd/ssl_request_log" 2019-12-30-9:44:21 "/var/log/php-fpm/error.log" 2019-12-30-9:44:21 "/var/log/httpd/hne-error_log" 2019-12-30-9:44:21 "/var/log/httpd/C.O.G.-error_log" 2017-7-17-3:34:3 "/var/log/wpa_supplicant.log" 2016-12-26-6:0:0 "/var/log/secure" 2019-12-30-9:44:21 "/var/log/httpd/kamata-net.com-error_log" 2019-12-30-9:44:21 "/var/log/ppp/connect-errors" 2020-1-1-8:0:0 "/var/log/messages" 2019-12-30-9:44:21 "/var/log/httpd/asahi-access_log" 2019-12-30-9:44:21 "/var/log/cron" 2019-12-30-9:44:21 "/var/log/httpd/yeah-error_log" 2019-12-30-9:44:21 "/var/log/httpd/access_log" 2018-2-26-6:52:3 #
1週間後、ログの状況を見てみると以下の通り古いファイルは綺麗に削除されていることが確認できました。
記事は以上!