レスが付かないようですので…。

成田@デジラテと申します。

私は Apache のログを syslog ではなくシェルを作って ローテーションをしているので、 syslog でのローテーションに詳しくありませんが、syslogの指 定で size と when の
関係を勘違いされていると思われます。

man によると、「when フィールドが単一のアスタリスク (`*') の場合、ログ入れ替えは size フィールドにのみ依存します。」とありますので、「500MB を超えた場合」にローテーション
を行いたいのであれば、下記の設定になると思われます。

# 素直に読めば when と size を併記していると、どちら かが参照される様に見えますが… :-)

■jp.freebsd.org の man ページ
http://www.jp.freebsd.org/cgi/mroff.cgi? subdir=man&lc=1&cmd=&man=newsyslog.conf&dir=jpman-6.1.2%2Fman&sect=0

■サイズが約500MBであればローテーション
/var/log/apps/http_access.log 644 6 500000 * J /var/run/ httpd.pid

サイズに関係なく、毎月始の4日にもローテーションをかけたい のであれば、下記も別に必要となります。 /var/log/apps/http_access.log 644 6 * $M1D4 J /var/run/ httpd.pid

デフォルトの newsyslog.conf でも size と when を同列で記載しているのは無いですね。

以上、参考になれば。

                                                  . .
------------------------------------------------w--U--w----------

有限会社デジラテ 成田 敬

☆---------------------------------------------------------------


On 2006/11/10, at 22:41, 山田 将章 wrote:


こんばんは 山田です。

下記バージョンのサーバーでsyslogのローテートで変な現象に あっているので
相談させてください。

OSバージョン
FreeBSD 6.1-RELEASE-p3 FreeBSD 6.1-RELEASE-p3 #0: Mon Aug 7 08:56:31 JST 2006
/usr/src/sys/amd64/compile/LABO  amd64

newsyslog.conf の中身
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/var/log/all.log                        600  7     *    @T00  J
/var/log/amd.log                        644  7     100  *     J
/var/log/auth.log                       600  7     100  *     JC
/var/log/console.log                    600  5     100  *     J
/var/log/cron                           600  3     100  *     JC
/var/log/daily.log                      640  7     *    @T00  JN
/var/log/debug.log                      600  7     100  *     JC
/var/log/kerberos.log                   600  7     100  *     J
/var/log/lpd-errs                       644  7     100  *     JC
/var/log/maillog                        640  7     *    @T00  JC
/var/log/messages 644 5 10000 * JC
/var/log/monthly.log                    640  12    *    $M1D0 JN
/var/log/pflog 600 3 100 * JB /var/run/pflogd.pid
/var/log/ppp.log        root:network    640  3     100  *     JC
/var/log/security                       600  10    100  *     JC
/var/log/sendmail.st                    640  10    *    168   B
/var/log/slip.log       root:network    640  3     100  *     JC
/var/log/weekly.log                     640  5     1    $W6D0 JN
/var/log/wtmp                           644  3     *    @01T05 B
/var/log/xferlog                        600  7     100  *     JC
/var/log/apps/http_access.log 644 6 500000 $M1D4 J / var/run/httpd.pid /var/log/apps/http_error.log 644 6 50000 $M1D4 J / var/run/httpd.pid


変な現象というのは
/var/log/apps/http_access.log 644 6 500000 $M1D4 J / var/run/httpd.pid
この行でしているしている、サイズの所です。
サイズが500Mを超える場合はローテーションさせて超えなければ
毎月1日の4時にローテーションというルールにしている つもりなのですが、
毎月1日の4時にローテーションは正常に動作しても、
500Mを超えてもログはローテーションされませんでした。

sysylog -v で様子をみても 次回のローテーション日付まで時 間が
あるためSKIPという表示がでてローテーションされません。

ひょっとして、大きな勘違いをしている?のかもしれませんが、
一通り調べてみても原因が分からなかったので投稿しました。

これおかしいよ!とRESいただければ助かります。

10 REM / ==============================================================/ 20 REM / 山田 将 章 / 30 REM / Masaaki.Yamada Mail : [EMAIL PROTECTED] / 40 REM / Private : [EMAIL PROTECTED] / 50 REM / ==============================================================/
60 NEW ON 1



メールによる返信