お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2011-01-06 14:23:40

fatcat
メンバ
登録日: 2009-08-25

ログローテートについて

いつもお世話になっております。
Ubuntu9.04をminimalCDを使用してインストールしました。

最終目標はUbuntuが出力するログをローテートさせ、
ディスク(今回は1GBのCFメディア)の容量を常に一定容量内に収めたく思っております。

掲題の件で質問がございます。
Ubuntuでのログローテートは/etc/logrotate.confで行うと知りまして、
logrotate.confについて調査しましたがいくつかわからない点がございますので何卒ご教授お願いいたします。

確かに、/etc/logrotate.confに記載されているように
/var/log/wtmpや/var/log/btmpはローテートされているように思います。
また、/etc/logrotate.confでincludeしている/etc/logrotate.d/のファイル(/var/log/aptitudeや/var/log/dpkg.logなど)も
ローテートされてそうです。
わからない点というのはdmesgやsyslogなどの設定を記載する場所です。

最初は/etc/logrotate.confにdmesgやsyslogに対する設定などを
/var/log以下のログファイル1つ1つ設定していくものだと思っておりましたが
/etc/logrotate.confにはdmesgについて特に記載がないのにローテートされているように見えます。
(syslogやuser.logおよびdaemon.logなどはローテートされていないように見えます)

dmesgやsyslogなどUbuntuが出力するログのローテートについて設定箇所などご存知でしたらお願いいたします。


$ls -al /var/logの結果

total
49792
drwxr-xr-x  9 root   root     4096 2011-01-06 11:59 .
drwxr-xr-x 14 root   root     4096 2010-11-02 10:15 ..
drwxr-xr-x  2 root   root     4096 2009-04-08 23:54 apparmor
drwxr-xr-x  2 root   root     4096 2010-04-18 20:16 apt
-rw-r--r--  1 root   root        0 2010-04-18 20:16 aptitude
-rw-r--r--  1 root   root      210 2010-11-01 15:57 aptitude.1.gz
-rw-r-----  1 syslog adm    319046 2011-01-06 13:10 auth.log
-rw-r-----  1 root   adm        31 2010-10-29 10:36 boot
-rw-rw----  1 root   utmp        0 2010-04-18 20:28 btmp
-rw-rw----  1 root   utmp       20 2010-04-18 20:16 btmp.1.gz
-rw-r-----  1 syslog adm  19888304 2011-01-06 12:04 daemon.log
-rw-r-----  1 syslog adm   1213588 2011-01-06 13:09 debug
drwxr-xr-x  2 root   root     4096 2009-10-30 21:52 dist-upgrade
-rw-r-----  1 root   adm     32611 2011-01-06 11:59 dmesg
-rw-r-----  1 root   adm     33936 2010-12-27 13:33 dmesg.0
-rw-r-----  1 root   adm     10015 2010-12-27 13:28 dmesg.1.gz
-rw-r-----  1 root   adm     10006 2010-12-27 13:26 dmesg.2.gz
-rw-r-----  1 root   adm     10035 2010-12-27 13:20 dmesg.3.gz
-rw-r-----  1 root   adm      9897 2010-12-27 13:14 dmesg.4.gz
-rw-r-----  1 root   adm         0 2010-04-18 20:16 dpkg.log
-rw-r-----  1 root   adm    244480 2010-11-30 15:40 dpkg.log.1
-rw-r--r--  1 root   root    24024 2010-04-18 16:46 faillog
drwxr-xr-x  2 root   root     4096 2010-10-29 10:36 fsck
drwxr-xr-x  3 root   root     4096 2010-10-29 11:20 installer
-rw-r-----  1 syslog adm    729191 2011-01-06 13:09 kern.log
-rw-rw-r--  1 root   utmp   292292 2011-01-06 11:59 lastlog
-rw-r-----  1 syslog adm         0 2010-10-29 10:40 lpr.log
-rw-r-----  1 syslog adm         0 2010-10-29 10:40 mail.err
-rw-r-----  1 syslog adm         0 2010-10-29 10:40 mail.info
-rw-r-----  1 syslog adm         0 2010-10-29 10:40 mail.log
-rw-r-----  1 syslog adm         0 2010-10-29 10:40 mail.warn
-rw-r--r--  1 root   root        0 2010-04-18 20:33 message
-rw-r-----  1 syslog adm   7220203 2011-01-06 13:09 messages
drwxr-sr-x  2 news   news     4096 2010-10-29 10:40 news
drwxr-xr-x  2 ntp    ntp      4096 2009-12-05 03:11 ntpstats
-rw-r--r--  1 root   root        0 2010-10-29 11:03 pycentral.log
-rw-r-----  1 syslog adm  20662345 2011-01-06 13:10 syslog
-rw-r--r--  1 root   root   150870 2011-01-06 11:59 udev
-rw-r-----  1 syslog adm     30212 2011-01-06 12:00 user.log
-rw-rw-r--  1 root   utmp   228096 2011-01-06 11:59 wtmp
-rw-rw-r--  1 root   utmp       20 2010-04-18 20:16 wtmp.1.gz

$cat /etc/logrotate.conf(少し私が編集しているためデフォルトのものとは異なります)の結果

# see "man logrotate" for details
# rotate log files weekly
#weekly
daily

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
compress

size 100M

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

# system-specific logs may be configured here

オフライン

 

#2 2011-01-06 15:13:50

weyk
メンバ
登録日: 2009-04-03

Re: ログローテートについて

dmesg.logは、ログの特性上、ちょっと扱いが違うようです。
下記のスレッドの内容がずばりのようですので、確認してみてください。

http://ubuntuforums.org/archive/index.php/t-1006275.html

ログのローテートについては、1つの実装にそろっている保証も無いので、どこに実装があるのかを判断するのは結構大変かもしれませんね。
# 個々のプログラム内部に独自に実装している可能性もありえますよね。

基本的には、syslogdの出力するログは、/etc/logrotate.d/syslogに記載があるはず・・・という認識でよいようです。

オフライン

 

#3 2011-01-06 18:42:49

fatcat
メンバ
登録日: 2009-08-25

Re: ログローテートについて

weykさん、ご返信ありがとうございます。

weykさん による投稿:

dmesg.logは、ログの特性上、ちょっと扱いが違うようです。
下記のスレッドの内容がずばりのようですので、確認してみてください。

http://ubuntuforums.org/archive/index.php/t-1006275.html

確かに仰るとおりdmesgの特性上、起動するたびにローテートするのも頷けます。


weykさん による投稿:

基本的には、syslogdの出力するログは、/etc/logrotate.d/syslogに記載があるはず・・・という認識でよいようです。

残念ながら/etc/logrotate.d/syslogは存在しませんでしたので作成しようと思います。
内容としては/var/log/以下にある全ログファイルをローテートすることになりそうです。
あるいはlsの結果で所有者がsyslogになっているものを/etc/logrotate.d/syslogにまとめ
その他を/etc/logrotate.d/rootとでもしてまとめて、2つにわけることになりそうです。


上記方法で解決できるとして
まだ、腑に落ちない点がございます。
Ubuntuが出力するログも上記のように設定しなければ、無限に出力しつづけるとなると
1GBであれ100GBであれディスク容量が一杯になるまでの時間が違うだけで
いずれはディスク一杯になるのではないでしょうか?
また逆にそのようなことにならないような設定(各ログファイルの容量は2GBまでなど)が
あるとすれば、そこを1MBにすれば問題が解決しそうな気がしています。
もしくはその設定はUbuntu固定で保持しており、編集できないようになっているのでしょうか?

引き続きご教授いただければと思います。
何卒よろしくお願いいたします。

オフライン

 

Board footer

Powered by FluxBB