今の現場ではログはちゃんととっておいてね。って言われているのでログは取るようにしています。
ログをとっておいても、まぁ大抵は見返したりすることはないんですが、ふと
「あの設定てどういう手順でやったんだっけ?」とか
「ふえぇ…前と同じ構成なのに設定がうまく通らないよぉ……」
という時に、やっぱりログがあったらとても重宝するわけです。
で、現場はWindowsXPなのでTeraTermを使っていて、ログの取得設定も[File]>[log]からできるんですが、そう言えばLinuxでログの取得を設定したことがなかったなぁ。なんてことに気づきまして、調べて見ました。
止められないUNIXサーバのセキュリティ対策 第6回 - Page2
scriptコマンドを使えばいいらしいです。
システムアカウンティングの方は今回はパスしておきます。
で、ログの取得をすることができるようになったわけですが、個人的にはこのログを日付別にディレクトリ割り振って、日付毎にファイル出力させたいわけです。
↓こんな感じ↓
[root@YKNS01 ~]# tree
.
|-- log
| |-- 2012-05-13
| | |-- 080320.log
| | `-- 080502.log
:
:
このくらいなら簡単にシェルスクリプトを組めば実現できそうだったので、作って見ました。
[root@YKNS01 ~]# vi termoni.sh
#!/bin/bash
if [ ! -d /root/log ]; then
mkdir /root/log
fi
LOGDATE=`date +%Y-%m-%d`
LOGTIME=`date +%H%M%S`
if [ ! -d /root/log/${LOGDATE} ]; then
mkdir /root/log/${LOGDATE}
fi
script /root/log/${LOGDATE}/${LOGTIME}.log
で、いちいちシェルスクリプトファイル指定するのも面倒なので、.bashrcにエイリアスルールを追加
[root@YKNS01 ~]# vi .bashrc
(ファイル末尾に以下を追加)
alias termoni='bash /root/termoni.sh'
で、一旦ログアウトして、ログインしなおして、コマンド打ってみる。
[root@YKNS01 ~]# termoni
スクリプトを開始しました、ファイルは /root/log/2012-05-13/080502.log です
はい、思惑通りの場所にログが出力され始めました。
余談ですが、なぜエイリアス名がtermoniかというと、現場でCiscoのL3SWを弄っていて、普段からterminal monitorコマンドを打ちなれているからです。
もし拙作コードを参考にしたい稀有な方がいましたらぜひとも自分の覚えやすい名前に変更することをおすすめします。
もし拙作コードを参考にしたい稀有な方がいましたらぜひとも自分の覚えやすい名前に変更することをおすすめします。
ちなみにログ取得の終了はexitコマンド打つので、ログアウトする前にワンクッション入ることになります。
以上。
以上。
0 件のコメント:
コメントを投稿