上の流れ。何回か書いてんだけど忘れる。忘れる。で見直すけど自分が何かいてるかわかんない。
なので今度こそ。。。。。
■logrotateの起動
① cronがrunpartsで/etc/cron.daily/logrotateを読みにいく。
② 読んだファイルから/etc/logrotate.conf(グローバルな設定ファイル)を読んでlogrotate起動
③ /etc/logrotate.confはディレクティヴ "include"で個別?ローカル?のローテート設定を読みに行く。
※グローバルな設定ファイルはローカルな設定ファイルで上書きできる。
なので、基本的にローカルでちゃんと設定すればいいわけだ。
余計な設定をグローバルに書いてるとnoとかで否定しないといけないので最小限がいい。
■ローテートの検証
設定した項目が正常に動作しているかを確認するために、
logrotate コマンドを用いる。
logrotate -d ログ設定ファイル
⇒文法チェック。 実際にローテートはしない。
logrotate -f ログ設定ファイル
⇒実際に(強制的に)ローテートを行う。
※ これたぶん個別のファイルしかみてないから、ローカル設定とかを指定したとき、
グローバル読まない気がする。。。(でもそんな感じの動きをしたよ)
-fの場合、圧縮や、世代管理等のディレクティブ機能の検証は可能だが、
日付の指定(daily,weekly,montlyとか)を確認しようとすると、
やっぱりOSの日付をいじらないとだめっぽいなぁ。
いい方法ないかなあ。。。。。
いちいち日付をちょっと前に設定してーできたかみて できてたら日付戻す
これめんどくせーと思うんだおね。。。。
で、実際に検証したいんだけどrhel6.1だと
/etc/crontabの設定がされてない。
cronの動作は、
/etc/anacrontabがやってるらしい。
これだと、何時にやるかローテートするかわかんないので、
/etc/crontabにべた書き設定すればいい・・・はず(未検証)
これからやりますこれから。
★追記。
しらべりゃここにのってたわ。
http://www.suzu841.com/qpopper.html
付加情報に関してもここで、使う意味がわかーるわカール
■付加情報
● 最後にローテートされた日付は、 /var/lib/logrotate.statusをみれば書いてある
これは単純に 20111128 とかこんなふうにかいてある。
0 件のコメント:
コメントを投稿