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

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


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

こんばんは、うすだです。

最近、ミドリガメを飼っています。

もともとは、同じマンションに住むひとが飼ってたのですが、 海外へ転勤になったので、その間、代わりにお世話をすることになりました。

ミドリガメというと、 ペットショップなどで売っている小さいやつを連想していたのですが、 すでに1年以上飼われていて、大人の手の平くらいのけっこうな大きさにまで、 すくすくと育っていました。

カメなんてどうせ餌食うだけじゃないのか? と思っていたのですが、 いざ飼ってみると、意外とニンゲンを認識してくれるので、 けっこうかわいい生き物だということがわかりました。

水槽を掃除するときに、ベランダに出して散歩させるのですが、 すみっこの日陰に行ったと思ったら、のこのこと戻ってきて、 こちらの顔をじっと見たりします。

餌をあげるときは、遠くからでも、手足をばたばたさせて、 早くくれーとこちらを見ながら主張します。特に、エビをあげるときが、すごいです。

いやー、かわいいやつです。ミドリガメ。
カタツムリをかわいいと思っているわたしの感覚は、 ちょっとずれているかもしれませんけどね。

そんなわけで、ここのところは、ミドリガメに癒されている毎日です。

はい、オチはありません。さあ、今週も、はりきってまいりますよ!

今週のお題 - Logwatch をカスタマイズする

世の中には、ログを集計してメールでお知らせしてくれる、 Logwatch なる便利なものが存在します。

毎日毎時間大量に出力されるログの中から、各サービス毎に、 必要な情報を抜き出して集計して、メールで連絡してくれる、親切なひとです。

RedHat 系のディストリビューションですと、 デフォルトでインストールされていると思いますので、 なんかそんなメールが毎日来てるなあ、 などと思われたかたもいらっしゃるのではないかと思います。

今週は、そんな縁の下の力持ちな Logwatch に注目し、 カスタマイズして使う簡単な方法を、ご紹介したいと思います。


まず最初に、Logwatch パッケージの有無を、確認しましょう。
rpm コマンドや dpkg コマンドでパッケージがあるかどうかを確認してもいいですし、 /usr/sbin/logwatch の有無で判別してもいいと思います。

  # rpm -qi logwatch          (RedHat 系の場合)
  # dpkg -l logwatch          (Debian 系の場合)
  # ls -l /usr/sbin/logwatch  (なんでも)

大抵のディストリビューションには入っているようですが、入っていない場合は、 yum とか apt とかで入手してください。

  # yum install logwatch      (yum の場合)
  # apt-get install logwatch  (apt の場合)

 

それでは、いきなりですが、実行してみましょう。
Logwatch のコマンドは、/usr/sbin/logwatch です。
オプションになにも指定せずに実行すると、昨日のログを集計し、 root 宛に結果をメールしてくれます。(cron で実行されるのもコレです。)

  # /usr/sbin/logwatch

ログを参照するため、root の権限が必要です。


問題なく動作したら、軽くカスタマイズをしてみましょう。
ここでは、コマンドラインオプションを試してみたいと思います。
各オプションの簡単な使い方を、さらっとご紹介します。

まずは、root ではなく、別のひとにメールしてみましょう。
--mailto オプションでアドレスを指定すれば、そのひとにメールします。

  # logwatch --mailto usu@usupi.org

昨日のログではなく、今日のログを対象としてみましょう。
--range オプションで Today を指定すると、今日のログを集計します。
(他に、Yesterday と All が指定可能です。その他はないようです。)

  # logwatch --range Today

メールじゃなくていいよというかたは、 --print オプションで標準出力に出力できます。 ただし、--mailto オプションを同時に指定すると、標準出力に出力されず、 メールが送信されてしまいます。ご注意ください。

  # logwatch --print

出力を HTML 形式にもできます。
--output オプションで html と指定してみてください。

  # logwatch --print --output html > /var/www/html/logwatch.html

という具合に、DocumentRoot の下にファイルを置けば、 WWW でみんなに見せることができます。(ただし、情報漏洩にはご注意ください!)

あと、とても大事なオプションに、--service があります。
通常は、すべてのサービスを対象としますが、このオプションで、 それを変更できます。
たとえば、sendmail と sshd だけを対象にしたければ、 以下のように複数指定して実行します。

  # logwatch --service sendmail --service sshd

ちなみに、All と指定すると、すべてのサービスを対象とします。


今度は、上記のオプションを、設定ファイルに記述してみましょう。
オプションを設定ファイルに記述することで、 指定した設定がデフォルトで有効になります。

Logwatch の設定ファイルの名前は、logwatch.conf です。
そのありかは、ディストリビューションによってやや異なります。
Fedora Core や Debian では、/etc/logwatch/conf/logwatch.conf ですが、 Vine や CentOS では、/etc/log.d/conf/logwatch.conf でした。
とはいえ、バージョンによってはこれと違う可能性がありますので、 念のため、パッケージのリストなどで確認しておいてください。

さて、設定ファイルの書き方は、ごく単純に、以下の形式になります。

  変数名 = 値

変数名は、 先ほどのコマンドラインオプションの先頭の -- を取り除いたものになります。 また、変数名も値も、大文字小文字を区別しません。

たとえば、メールの宛先を usu@usupi.org にしたければ、以下のように記述します。

  MailTo = usu@usupi.org

--print など、引数を必要としないオプションは、Yes, True, On や 1 で有効に、 No, False, Off や 0 で無効に設定できます。

  Print = No

また、--service など、複数の値を設定できるオプションは、以下のように羅列します。

  Service = sendmail
  Service = sshd

設定したら、実際に logwatch を実行して、確認してみてください。


以上、Logwatch のカスタマイズについて、簡単にご紹介しました。

会社的に許されるなら、あなた好みの logwatch に変更して、 周りのひとを驚かせてみてください。(許されないなら、先に許可を得てください。)

余力のある方は、logwatch の本体である logwatch.pl を眺めましょう。
どういう処理をしているかがわかり、いろいろと勉強になりますよ。

宿題の答え

先週の宿題は、

  カレントディレクトリにある AVI ファイルの数を定期的に出力して、
  それがある数に達したら終了するものを、コマンドライン上で実行して
  みましょう。

でした。

ファイルの数を変数に入れておき、それがある数と一致したら、 while 文から抜けるようにしておけば、よさそうです。
たとえば、10個で終了したい場合は、以下を実行します。

  % count=0
  % while [ $count -ne 10 ] ; do
  > sleep 5
  > count=`ls -1 *.avi | wc -l`
  > echo $count
  > done

基本的な構成は、先週のものとほぼ同じです。
ファイルの数を一旦変数 count に代入しておき、 while 文の条件で比較しているところが、ちょっと異なりますね。

今週の宿題

今週の宿題は、

  すべてのサービスを対象に logwatch を実行してください。
  ただし、sendmail は対象外としてください。

です。

本題では説明しませんでしたが、あるサービス以外すべて、という指定ができます。 その方法をなんとか捜し出して、設定してみてください。

先週の補足

「Linux英語の達人」を発行している吉岡さんより、 もっとすっきりした繰り返し実行の方法を、教えていただきました。

先週、1から10まで繰り返して実行するには、以下のようにしましたが、

  % loop=1
  % while [ $loop -le 10 ] ; do
  > 処理内容...
  > loop=`expr $loop + 1`
  > done

for 文と seq コマンドを使えば、もっとシンプルになります。
(よくわからないぞという方は、seq 1 10 だけを実行してみましょう。)

  % for loop in `seq 1 10` ; do
  > 処理内容...
  > done

csh 系の場合は、foreach 文を使えば、同様のことができます。

  % foreach loop (`seq 1 10`)
  > 処理内容...
  > end

というわけで、ご指摘ありがとうございました。> 吉岡さん

 

わたしは、HTML 形式のメルマガを購読しない主義ですが、唯一、例外があります。 それが、吉岡さんのメルマガです。

Linux英語の達人
http://www.mag2.com/m/0000180265.html

技術屋と英語とには、切っても切れない、深い深ーい関係がありますが、 「Linux英語の達人」では、Linux に関する英語の1フレーズに注目して、 解説を交えて訳してくださいます。

週刊ですので、お気軽に購読してみてください。

あとがき

↑とってつけたような宣伝を入れてしまいましたが、 頼まれたわけでなくわたしが勝手に書きましたので、ご容赦ください。

よく考えますと、シェルのコマンドラインに関するネタは、エイリアスやヒストリ、 ディレクトリスタックの操作など、いくらでもありました。
また機会があればご紹介したいと思いますが、 是非やってくれとか今すぐやってくれというご要望がありましたら、 すぐにでもご紹介します。

 

…ああ、もう十分長くなってしまいました。今週は、 このあたりで終わりにしたいと思います。
来週は、Logwatch のサービスについて、ちょい踏み込んでみようかな、 なんて考えています。
それはちょっと面白くないのではとか、 その他ご意見ご要望叱咤激励などがありましたら、お気軽にメールしてくださいませ。

 

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

 

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

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」−最近、ぼちぼちと紹介してもらったりしています。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)
http://www.fumido.co.jp/kuriniki/ (栗日記ぎゃらりー)


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

トップ

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

プロフィール

▼ リンク

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

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本