
Ubuntu日本語フォーラム

ログインしていません。
いつもお世話になっております。
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
オフライン
dmesg.logは、ログの特性上、ちょっと扱いが違うようです。
下記のスレッドの内容がずばりのようですので、確認してみてください。
http://ubuntuforums.org/archive/index.php/t-1006275.html
ログのローテートについては、1つの実装にそろっている保証も無いので、どこに実装があるのかを判断するのは結構大変かもしれませんね。
# 個々のプログラム内部に独自に実装している可能性もありえますよね。
基本的には、syslogdの出力するログは、/etc/logrotate.d/syslogに記載があるはず・・・という認識でよいようです。
オフライン
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固定で保持しており、編集できないようになっているのでしょうか?
引き続きご教授いただければと思います。
何卒よろしくお願いいたします。
オフライン