平成30/ 2018-10-24 08:55
LINUX/ LOGROTATE

rotateは、保存されるファイル数。

monthly
rotate 12
とすれば、1年分のファイルが保管される。

notifemptyは、空のログファイルはローテーション対象としないということ。

compress
delaycompress
で圧縮してくれる。
これだと、
error.log.1
error.log.2.gz
のように
error.log.1
は圧縮されない。
この場合、ローテートが実行されたときに「error.log」を開きっぱなしにしているプロセスがあったとしてもログの書き込みは「error.log.1」に継続するため、
ログ出力が損なわれることはない。
-
error.log.1
も圧縮したいときは、
delaycompress
を外す。





vi /etc/logrotate.d/httpd
//====>
/etc/httpd/logs/*/*log
/etc/httpd/logs/simiz.biz/access_log
{
    missingok
    ifempty
    daily
    rotate 100
    olddir /etc/httpd/logs/simiz.biz/backup
    sharedscripts
    postrotate
        EXT=`date +%Y%m%d`
        for f in $1;
            do mv $f.1 $f.$EXT;
        done
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
    compress
}

/etc/httpd/logs/simiz.biz/*_log {
    missingok
    ifempty
    monthly
    rotate 3
    olddir /etc/httpd/logs/simiz.biz/backup
    sharedscripts
    postrotate
        EXT=`date +%Y%m%d`
        for f in $1;
            do mv $f.1 $f.$EXT;
        done
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
    compress
}
//<====

//保存先を作る。
mkdir /etc/httpd/logs/simiz.biz/backup

//確認する。
logrotate -dv /etc/logrotate.d/httpd
※「-d」デバックモード。「-v」詳細メッセージ表示モード

//実行履歴は以下で確認できる。
more /var/lib/logrotate.status


// Thanks.
http://satospo.sakura.ne.jp/blog_archives/tech/centos/logrotate_conf.html

http://webcache.googleusercontent.com/search?q=cache:H7XWpPDE9V8J:cyberam.dip.jp/linux_foundation/systemlog/logrotate_main.html+logrotate+monthly+rotate&cd=4&hl=ja&ct=clnk&gl=jp&source=www.google.co.jp
# see "man logrotate" for details
# rotate log files weekly
weekly  ←毎週ログローテーションする。
# keep 4 weeks worth of backlogs
rotate 4  ←4回ローテーションする。この場合は4週間分のログがバックアップされる。
# create new (empty) log files after rotating old ones
create  ←ローテーションしたときに新たな空のログファイルを生成する。
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d  ←/etc/logrotate.d以下の設定ファイルを読み込む。
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {  ←/var/log/wtmpファイルのローテーション設定である。
    monthly
    create 0664 root utmp
    rotate 1
}
# system-specific logs may be also be configured here.



Logrotate によるログのローテーション/Server-Config
http://linux.kororo.jp/cont/server/logrotate.php

logrotateのdelaycompressオプション
http://dan-project.blog.so-net.ne.jp/2012-06-13

logrotateの設定ファイルで指定できる主なコマンド
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/747logrotatecmd.html

logrotate の delaycompress
http://ngyuki.hatenablog.com/entry/20111205/p1