ブログせつめい

このブログはタイトルの通り、メモ代わりです。
内容に関しては誤っている個所があるかと思いますので、参考にされる場合は、要検討のうえご利用ください。
また、気になったことなどLinux以外の話もあります。

2011年11月28日月曜日

crontab⇒logrotate

上の流れ。何回か書いてんだけど忘れる。忘れる。で見直すけど自分が何かいてるかわかんない。

なので今度こそ。。。。。


■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 件のコメント:

コメントを投稿