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

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


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

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

先月末に公開された Firefox 1.5 を、最近使い始めました。

今のところ快調なのですが、今まで使っていたテーマやエクステンションの中に、 1.5 対応でないものがあり、代わりのものを探さないといけなくなりました。

でも、探していると、 今まで知らなかったけど役に立ちそうなものを発見できたりするので、 面白いですよね。
年末に向けて、予断を許さないくらい忙しいはずなのに、 面白そうなものをインストールしては試す、というのを繰り返してしまいました。

そんなわけで、今後配信されない週がありましたら、 どこかに監禁されて仕事してるんだな、などと思っていただけますと幸いです。

それでは、今週も、はりきってまいりましょう!

今週のお題 - ファイルの属性をログに適用する

というわけで、年末に向けて、 レミングスのごとく破滅への道をたどっておりますので、今週は、 先週の応用編ということで、ご勘弁ください。

以前、syslog と、ログのローテーションをネタにしましたが、今週は、 ファイルの属性をログに適用する、というネタをご紹介します。

その前に、syslog とかローテーションとかに覚えのない方は、 まず以下をご覧ください。

Vol.016 - syslog を管理する
http://www.usupi.org/sysad/016.html
Vol.018 - ログをローテーションする
http://www.usupi.org/sysad/018.html

さて、ログといえば、いろんな情報が記録されており、 過去にあったことを調査するためなどに不可欠なもの、だと思います。

そんなログを、うっかり消してしまっては、元も子もありません。
でも、先週やった、ファイルの属性を設定しておけば、 そんなうっかりを防ぐことができます。
ちなみに、先週やった内容は、以下です。

Vol.038 - ファイルの属性を操作する
http://www.usupi.org/sysad/038.html

それでは早速、実際に行っていきたいと思います。

まず、試すログを、syslog に追加しましょう。
ここでは、facility が local6 のログを、/var/log/local6.log に保存するよう、 /etc/syslog.conf に以下を追加します。

  local6.*			/var/log/local6.log

空白はタブで記述してください。
そして、syslogd に SIGHUP シグナルを送り、上記を反映します。

  # kill -HUP `cat /var/run/syslogd.pid`

次に、ログファイルに属性を設定します。
現在使用中のログファイルは、次々と新たな情報が追加されていきますので、 追加書き込みのみ許可にしましょう。これは属性 a ですね。

  # chattr =a /var/log/local6.log

そして、ローテーションされたバックアップファイルは、 変更する必要がありませんので、変更不可にします。これは属性 i ですね。
もしすでにバックアップファイルが存在するなら、以下を実行します。

  # chattr =i /var/log/local6.log.*

これで、とりあえず、 うっかりログファイルを削除することがなくなるのではないかと思います。

次に、ローテーションにも対応させましょう。
このままでは、logrotate でローテーションする際に、 ファイルの移動ができないため、エラーになってしまいます。
そこで、ちょっとした細工を施します。
logrotate の設定例を、以下に示します。

  /var/log/local6.log {
    notifempty
    missingok
    firstaction
      chattr -a /var/log/local6.log
      chattr -i /var/log/local6.log.* 2> /dev/null || true
    endscript
    lastaction
      chattr +a /var/log/local6.log
      chattr +i /var/log/local6.log.*
      /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> \
  /dev/null || true
    endscript
  }

これを、/etc/logrotate.conf に追加してもよいと思いますが、 できれば /etc/logrotate.d/local6 など、別ファイルに保存してください。

詳細の説明は割愛しますが…
まず、firstaction を用いて、ローテーションする前に、属性をなくして います。(firstaction 〜 endscript の間の chattr です。)
そして、lastaction を用いて、ローテーション後に、属性の再設定と、 syslogd への通知を行っています。(lastaction 〜 endscript です。)

これで、ローテーションする瞬間だけ属性をなくすことで、対処することができました。

というわけで、今週は、ファイルの属性をログに適用してみました。
ちなみに、prerotate, postrotate ではなく firstaction, lastaction を用いたのには、意味があります。
実際に行うとわかりますので、お暇な方は、試してみてください。
(どうしてかわからない方は、お教えしますので、お便りをください。)

宿題の答え

先週の宿題は、

  ファイルの属性のそれぞれの用途を、考えてみましょう

でした。

いろいろおっしゃりたいことはあると思いますが、一応わたしの意見を、 書かせていただきます。

A:頻繁に書き込まれると都合の悪いものに設定すればいいと思います。
書き込み速度が遅かったり、書き込み回数に制限のあるメディア上の
ファイルに設定すると、よさそうです。
a:本題にあるように、ログなどにもってこいですね。
d:あまり重要でないファイルなんかに、どうでしょうか。
i:滅多に変更せず、かつ大事なファイルによいと思います。/etc にある
ファイルのほとんどに設定しておくといいかな、と思いますが、私は
まだ実践してません。
S:変更する頻度が少ないけれど、大事なファイルに対して設定すると、
よさそうですね。
s:個人情報などを含むファイルに対して、念のために設定するとよいの
ではないか、と思われます。

上記以外の属性は、思いつかなかったので、割愛しました。すみません。
属性の意味がわからない方は、先週のお題をご覧ください。

Vol.038 - ファイルの属性を操作する
http://www.usupi.org/sysad/038.html

今週の宿題

今週の宿題は、こちらです。

  ディレクトリに対して、ファイルの属性を設定すると、どのような効果
  があるでしょうか?

です。

若干想定のしにくい、属性 i と a あたりを、調べてみましょう。
実際に chattr していじくってみると、わかりますよ。
ディレクトリ特有の特徴も、ちょっと試すと、見つけられると思います。

あとがき

突然ですが、よめの実家は、歯医者さんをやっています。
個人でやっている、町のこじんまりした、ちょっと古びた歯医者、 という感じなのですが、そんなところにも、 IT の波は容赦なく襲いかかってくるようです。

数年前には、カルテの電子化ということで、PC 一式やソフトが導入されましたし、 最近は、インターネットにつなぐために、光が引かれました。

ここのところは、ホームページを立ち上げるという話も出ています。

しかし、どれをとっても、我々が普通目にする各種有料サービスよりも、 割高なんですよね。

こじんまりしているとはいえ、歯医者さんですから、 金銭感覚が普通より高いというのもありますし、 インターネットとか PC とかを全く知らないというのもあります。

おそらく、それらのサービスは、普通のものと全く同じ、というわけではなく、 素人さんが、それなら買おう、と思ってしまう、 ちょっとした付加価値を持っているのだと思います。

えーと、つまり何が言いたいかと言いますと、ちょっと視点を変えたり、 ちょっとした機能などを付け加えるだけで、 ニーズがぐんと広まる可能性があるのではないか、と思ったのです。

たった今、ふと思ったことですので、具体的に私がこうしよう、 と思ったわけではありません。 ですが、本業にしても、趣味にしても、なんにしても、 適用できるのではないかと思っています。

…あ、なんか、今、 すごく当たり前のことを言っているだけのような気がしてきました。 …いやいや、そんなまっとうな思いには蓋をして、 気付かなかったことにしておきます。

ちなみに、ホームページは、月々1万も払うのはもったいないので、 よめにやってもらう方向で、進めています。(裏方はわたしで…)
もし、佐藤歯科医院のページができたら、ここでご紹介しますね。

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

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

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

「栗日記」−毎日栗の絵を描き続けて、もうすぐ4年になります。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)


[バックナンバーのトップへ] [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

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本