いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.018 / 読者数:389名

こんばんは,うすだです.

先週1週間分の寝不足を解消すべく,土曜日は怒涛のごとく睡眠をとりました. おかげで,寝不足で頭痛かったのが,寝過ぎで頭が痛く….

その間,2つほど夢を見ました.
1つは,仕事の〆切が迫っていて,慌ててどこかへ,雨の中を傘もささずに走っている夢でした.
もう1つは,待ち合わせ場所へ急いで行き,名刺交換しようとしたら, 古い名刺しかなくて,言い訳している夢でした.

誰かに夢判断してもらうまでもなく,何かに追われているとしか思えません. …いえ,何か…ではなく,仕事に追われている,ただそれだけです.
しかし,せっぱつまっていても,心には余裕を持てる人間になりたい, と思いました.こんな夢ばっかり見たくありませんしね.

…それでは,今日も,はりきってまいりましょう!

今週のお題 - ログをローテーションする

今週こそは,宣言通り,ログのローテーションをやります.やりますよ!

日々休むことなく,syslogd さんは,ログをファイルに出力し続けているわけですが, そのまま放置しておくと,ログファイルがどんどん肥大化していってしまいます.
(巨大なログから必要な情報を探す…なんてことはしたくないですよね.)

そこで,UNIX 的なシステムでは,古来から,ログをローテートして対処してきました. SunOS4.x などのころは,newsyslog という名のシェルスクリプトが, cron で定期的に実行され,ローテートを行っていました.

ちょっと発掘していたら,SunOS4.x 時代の newsyslog が出てきました.
せっかく?ですので,一部をご紹介します.(20世紀ものです.)

  #!/bin/sh
  LOG=messages
  cd /var/adm
  test -f $LOG.2 && mv $LOG.2 $LOG.3
  test -f $LOG.1 && mv $LOG.1 $LOG.2
  test -f $LOG.0 && mv $LOG.0 $LOG.1
  mv $LOG $LOG.0
  cp /dev/null $LOG
  chmod 640 $LOG
  ...(他のログの操作が続きますが,同様なので,割愛します)...
  kill -HUP `cat /etc/syslog.pid`

このスクリプトでは,
/var/adm/messages.2 を /var/adm/messages.3 という名前に,
/var/adm/messages.1 を /var/adm/messages.2 という名前に,
/var/adm/messages.0 を /var/adm/messages.1 という名前に,
/var/adm/messages を /var/adm/messages.0 という名前に変更し,
空の /var/adm/messages を作成して,syslogd に知らせる, ということをしています.
すごくベタなスクリプトですが,期待した通りには動作してくれました.

さて,現代に戻ります.
Linux には,logrotate というものが,標準で入っています.
保存する期間や切替える時期,圧縮の有無,切替え前後のコマンド実行等を, 設定しておけば自動的に行ってくれます.便利ですね.
また,syslog 以外のログもローテートしてくれます.

設定ファイルは,/etc/logrotate.conf です.
logrotate 実行時に指定するので,実はどこでもいいのですが, 皆こうなっています.暗黙の了解,というやつでしょうか.
いきなりですが,例を示して,その内容を簡単に説明します.

  weekly
  rotate 4
  include /etc/logrotate.d
  /var/log/wtmp {
    size 1M
    create 0664 root root
    rotate 1
  }

最初の weekly は,1週間でログをローテートさせる,という指定です.
これを daily や monthly にすると,それぞれ1日と1カ月でローテートさせる, という設定になります.

次の rotate 数字 は,指定した数字のログまで保存する,という指定です. weekly と合わせると,今のログを除いて,4週間分保存されることになります.

次の include パス は,指定したファイルを読み込んで解釈する,という指定です. パスがディレクトリなら,そのディレクトリ下にあるファイル全部を読み込んで解釈してくれます.
(/etc/logrotate.d を見ると,いろんなファイルが転がっていますよ.)

その次は,ログのパス名と,その後を { と } で囲んでいます.
これは,指定したログに対する設定です.囲まれていない場所で指定したものは, すべてのログを対象としますが,{ } で囲まれた指定は, そのログだけを対象とします.
size 数字 は,ログのサイズがその数字より大きくなると,ローテートを行います. k をつけるとキロバイト,M をつけるとメガバイトです.
create モード 所有者 グループ は,ローテートした後に,空のファイルを, 指定したモード(chmod で指定する8進数の値),所有者およびグループで生成するという指定です.

それから,ログを切替えたことを syslogd に知らせる必要があります.
logrotate が勝手に切替えていますので,syslogd は気づかないのです.
そのため,/etc/logrotate.d/syslog が,以下のようになっています.
(行末を \ で折り返している箇所は,実際は1行です.)

  /var/log/messages /var/log/secure /var/log/maillog \
  /var/log/spooler /var/log/boot.log /var/log/cron {
    sharedscripts
    postrotate
      /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> \
      /dev/null || true
    endscript
  }

postrotate 〜 endscript で囲まれたスクリプトを,ログのローテート後に実行します. ここでは,SIGHUP シグナルを syslogd に送ることで, ログの切替えを知らせています.
また,sharedscripts を指定することで,これらのログすべての切替えを行った後に, 1度だけスクリプトを起動するようにしています.
(sharedscripts がないと,各ログ毎にスクリプトを実行します.)

そして,ローテートさせるには,以下のように logrotate を実行します.

  # logrotate /etc/logrotate.conf

実行すると,/etc/logrotate.conf を解釈して, 前回ローテートした時の日付が保存されている /var/lib/logrotate.status と比較しながら,ローテートを行います.

ですが,すでに,cron で,logrotate が起動されるようになっていると思いますので, 明示的に上記のように実行する必要はほぼないと思います.
(cron -> run-parts -> /etc/cron.daily/logrotate -> logrotate 実行)

以上,超かけ足で,logrotate をご紹介しました.

実践! とかいいつつも,ちょっと試しにくい相手ではあります.
ちょっと試してみたいなと思った方は,別の設定ファイルに試したい設定を記述して, /var/lib/logrotate.status の日付を書き換えて,コマンドライン上で実行すると, 他への影響が少なくて,よいと思います.

ま,そうでなくても,ログによって保存期間を変更するくらいは, やってみてもいいんじゃないかと思います.

宿題の答え

先週の問題は,

  syslog で,facility が local5 で priority が notice 以上のログを,
  /var/log/local5.log に記録しつつ,別のマシンである logserver にも
  送信する設定を,してください.

でした.

/etc/syslog.conf に,以下の2つのエントリを追加すればよいです.

  local5.notice          /var/log/local5.log
  local5.notice          @logserver

すみません,簡単でしたね.
…おっと,SIGHUP シグナルの送信をお忘れなく.

今週の宿題

今週の宿題は,こちらです.

  logrotate を実行後,/var/log のリスト表示を,メールするように設定
  してください.

です.またメール…す,すみません….
…ええっと,/etc/logrotate.conf に記述できるところが,ミソです.

あとがき

先週は,岡本太郎の「今日の芸術」という本を,読んでいました.

岡本太郎の「今日の芸術」
http://www.amazon.co.jp/exec/obidos/ASIN/4334727891/usupiorg-22

岡本太郎というと,笑っていいともに出ていた, ちょっといっちゃってる感じの印象があるのですが,書籍を読むと, すごく納得させられる文章を理論的にずばっと書いているので,逆にびっくりします.

この本では,芸術とは何か,ということを,すごくわかりやすく, 情熱的に述べています.読んでいて,すかっとします.まがりなりにも, 毎日絵を描いるからなのかもしれませんが….
しかし,芸術に技能は必要なく,素人でも感覚とたくましい精神があれば芸術家になれるとか, セザンヌもゴッホも,ゴーギャンもルソーも,決して上手だったわけではない, という話を聞くと,あれ,私も,栗でいけるんじゃないだろうか, などと誤解してしまいそうです.(^ε^;

この本は,1954年に書かれたものですが, とても50年前のものとは思えない新鮮さを感じます. 今でも,岡本太郎の名をよく耳にしますが,その理由が,なんとなくわかりました.

これからも,もんもんと悩みながら,でも,それからなるべく逃げずに, 立ち向かって生きていきたいと思います.うおー! とか言いながら, 栗の絵を描き続けようと思います.
(もちろん,家族がびっくりしますので,うおーとは口に出しませんが.)

…といいますか,私,技術者なのに,技術の本を全然読んでいません.
やばいです.ネタを得るためにも,今週は技術な本を読みたいと思います.

そんなわけで,しつこいようですが,感想やネタ,疑問点など, なんでもお待ちしております.このメールに,そのまま返信してください.

今週も,ここまで読んでいただき,ありがとうございました.
それでは,また来週,お会いしましょう!

「いますぐ実践! Linux システム管理」の解除は,以下からどうぞ.
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは,こちらに全部あります.
http://www.usupi.org/sysad/backno.html

「栗日記」−栗の絵,懲りずに毎日描いてます.もうすぐ1300枚です.
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 5 をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューションや、Solaris10の例も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora8)
Fedora8のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日本の Linux 情報
日本の、Linux 総本山的なところです。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
Open Tech Press
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん





▼ 最近読んだ本

ハリー・ポッターと不死鳥の騎士団 ハリー・ポッターと不死鳥の騎士団
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと炎のゴブレット ハリー・ポッターと炎のゴブレット
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターとアズカバンの囚人 ハリー・ポッターとアズカバンの囚人
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと秘密の部屋 ハリー・ポッターと秘密の部屋
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと賢者の石 ハリー・ポッターと賢者の石
J.K.Rowling
  ハリポ月刊なので読み直してます
アルケミスト アルケミスト
パウロ・コエーリョ
  また読んだ
賢者の書 賢者の書
喜多川 泰
  違った視点から見られてよかった
セキュリティウォリア セキュリティウォリア
Cyrus Peikari, Anton Chuvakin
  やや冗長…ためにはなりました
CORE MEMORY CORE MEMORY
John Alderman, Mark Richards
  この筐体でPC作ってほしい!
新訳 星の王子さま 新訳 星の王子さま
サン=テグジュベリ
倉橋 由美子
  つまらない大人になったのか…
.....

[X]
「センネン画報」 今日 マチ子
「粟津潔 デザインする言葉」 粟津潔
「Binary Hacks」 高林 哲,鵜飼 文敏,佐藤 祐介,浜地 慎一郎,首藤 一幸
「Make: Volume01」 オライリー・ジャパン
「セーラが町にやってきた」 清野 由実
「手紙屋」 喜多川 泰
「Linuxカーネル2.6解読室」 高橋 浩和,小田 逸郎,山幡 為佐久
「人蕩し術」 無能 唱元
「子育てハッピーアドバイス2」 明橋 大二, 太田 知子
「ラッセル幸福論」 B. Russell
「それでも人生にイエスと言う」 Viktor Emil Frankl
「子育てハッピーアドバイス」 明橋 大二, 太田 知子
「考具」 加藤 昌治
「北欧デザイン<3>」 渡部 千春
「北斎の謎を解く」 諏訪 春雄
「体感美術館」 平野 暁臣
「チベット永遠の書」 Theodore Illion
「リナックスの革命」 Pekka Himanen
「人月の神話」 Frederick Phillips,Jr. Brooks
「ヤバい経済学」 Steven D. Levitt, Stephen J. Dubner
「小布施ッション<2001-2002>」 セーラ・マリ カミングス
「アンパンマン伝説」 やなせ たかし
「夢をかなえるゾウ」 水野 敬也
「ゲーム開発者のためのAI入門」 David M. Bourg, Glenn Seemann
「北欧デザイン<2>」 渡部 千春
「北欧デザイン<1>」 渡部 千春
「ヒューマン2.0」 渡辺 千賀
「中国・ロシア同盟がアメリカを滅ぼす日」 北野 幸伯
「超ロング・セラー 絶滅寸前商品」 湯浅 豊彦
「The BUG(ザ・バグ)」 すずき ひろのぶ,かとう みつあき
「デザインのデザイン」 原 研哉
「マキアヴェッリ語録」 塩野 七生
「ハンバーガーを待つ3分間の値段」 斎藤 由多加
「星の旅人-スペイン「奥の細道」-」 黛 まどか
「食品の裏側」 安部 司
「On Lisp」 Paul Graham
「ぼくが医者をやめた理由 つづき」 永井 明
「あなたならどうする?」 Jack Nikolaschka
「セキュアプログラミング−失敗から学ぶ設計・実装・運用・管理」
      Mark G. Graff, Kenneth R. van Wyk
「「左利き」は天才?−利き手をめぐる脳と進化の謎
      David Wolman
「自分の中に毒を持て」 岡本 太郎
「アトピーの薬を減らす本」 田中 貴子
「岡本太郎「明日の神話」修復960日間の記録」 吉村 絵美留
「X51.ORG THE ODYSSEY」 佐藤 健寿
「アレルギーっ子の暮らし応援BOOK」 佐藤 のり子
「沖縄文化論」 岡本 太郎
「「伝説の社員」になれ!」 土井 英司
「コンピュータの構成と設計(上)」 Patterson & Hennessy
「カラスのジョンソン」 明川 哲也
「ドリルを売るには穴を売れ」 佐藤 義典
「頭がよくなる照明術」 結城 未来
「クロフォードのインタラクティブデザイン論」 Chris Crawford
「いじめの根を絶ち子どもを守るガイド」 Barbara Coloroso
「非常識のすすめ―逆発想の仏教論」 ひろさちや
「Linuxアドバンストネットワーク構築ガイド - HAサーバ構築編」
      デージーネット
「イノベーションの達人!」 Tom Kelly, Jonathan Littman
「クリエーター50人が語る創造の原点」 小原 啓渡
「欺術 - 史上最強のハッカーが明かす禁断の技法」 Kevin Mitnick
「楽しい気象観察図鑑」 武田 康男
「入門 Ajax」 高橋 登史朗
「リリカルな自画像」 岡本 太郎
「やぎの目ゴールデンベスト」 林 雄司
「初めてのPython 第2版」 Mark Lutz,David Ascher
「鼻兎」 小林 賢太郎
「なぜ、これがアートなの?」 Amelia Arenas
「芸術起業論」 村上 隆
「まほう色の瞳」 Enrique Barrios
「ラーメンズつくるひとデコ」 ラーメンズ
「R25 つきぬけた男たち」 R25編集部
「美の呪力」 岡本 太郎
「しろのあお」 上大岡 トメ
「ザ・ゴール」 Eliyahu M. Goldratt
「ハッカーと画家」 Paul Graham
「岡本太郎に乾杯」 岡本 敏子
「Fedore Core Expert」 Software Design
「誰も知らない男」 ブルース・バートン
「子どもが育つ魔法の言葉」 ドロシー・ロー・ノルト
「国家の罠」 佐藤 優
「夜回り先生」 水谷 修
「やぎの目絵日記」 林 雄司
「7つの習慣」 スティーブン・R. コヴィー
「まろ、ん?−大掴源氏物語」 小泉 吉宏
「ザ・サーチ グーグルが世界を変えた」 ジョン・バッテル
「ポストモダン・マーケティング」 スティーブン ブラウン
「機動戦士ガンダムさん」 大和田 秀樹
「小エロのひみつ - Webやぎの目研究発表」 林 雄司
「これ、誰がデザインしたの?」 渡部千春
「60分間・企業ダントツ化プロジェクト」 神田 昌典
「ガルシアへの手紙」 エルバート ハバード
「人生は素晴らしいものだ」 オグ・マンディーノ
「ザ・マインドマップ」 トニー・ブザン,バリー・ブザン
「ワインバーグのシステム思考法」 G.M.ワインバーグ
「渋谷ではたらく社長の告白」 藤田 晋
「渋井真帆の日経新聞読みこなし隊」 渋井 真帆
「コラム息切れ」 小野 法師丸
「早朝起業」 松山 真之介
「変な人が書いた驚くほどツイてる話」 斎藤 一人
「35歳から仕事で大切にしたいこと」 村井 勉
「金融広告を読め」 吉本 佳生
「発想する会社!」 トム・ケリー,ジョナサン・リットマン
「エハイク」 吉田 戦車
「人生の旋律」 神田 昌典
「仕事の思想」 田坂 広志
「CPUの創りかた」 渡波 郁
「非常識な成功法則」 神田 昌典
…これ以前は記録してません…

▼ 気に入ってる本

夢をかなえるゾウ 夢をかなえるゾウ
水野 敬也
  いままでで最高の「笑える」成功本
Linuxデバイスドライバ Linuxデバイスドライバ
Alessandro Rubini,
Jonathan Corbet
  ドライバ作らなくてもためになる
Firefoxの改造テクニック! Firefoxの改造テクニック!
大浦 淳
  いま栗日記拡張を考えてます
Apacheモジュール プログラミングガイド Apacheモジュール プログラミングガイド
小山 浩之
  Apacheの中身もわかるよ
図解 実戦マーケティング戦略 図解 実戦マーケティング戦略
佐藤 義典
  栗日記も戦略的に行こう!
やぎの目ゴールデンベスト やぎの目ゴールデンベスト
林 雄司
  よめも爆笑してました
アルケミスト アルケミスト
パウロ・コエーリョ
  ヘコみそうなとき読みます
X51.ORG THE ODYSSEY X51.ORG THE ODYSSEY
佐藤 健寿
  X51.ORGの集大成
チベット永遠の書 チベット永遠の書
Theodore Illion
  いろんな意味ですごい!!
影響力の武器 影響力の武器
ロバート・B・チャルディーニ
  思わず納得します