Linux Server

シスログ(/var/log)配下のログがいつまでたっても削除されない!

  

ご注意下さい

この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。

0
(0)

あまり大きな問題となっていなかったので放置していたのですが、シスログがローテーションされるものの古いファイルを全然削除してくれなかったので、設定を見直すことにしました。

上記の通り過去ログが削除されておりません。ディスク容量の逼迫すら起こしています。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週間後、ログの状況を見てみると以下の通り古いファイルは綺麗に削除されていることが確認できました。

記事は以上!

この記事は役に立ちましたか? | Is this article useful for you?

評価をお願いします | Please leave your rating.

平均 | Av.: 0 / 5. 投票数 | Votes: 0

最初の評価を下さい | Please vote for the first rating.

-Linux Server
-, , ,

© 1999 - 2021 蒲田ネット