人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linuxで、netstat -i -c の結果をファイルにリダイレクトし、1日ごとにローテートする仕組みを教えてください。
ファイルは、実行日付のYYYYMMDD形式を付加したいです。(hoge.YYYYMMDD.logなど)

●質問者: P-mako
●カテゴリ:コンピュータ インターネット
✍キーワード:hoge Linux netstat ファイル リダイレクト
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● junono
●0ポイント

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/747logrotatecm...

http://kamoland.com/comp/logrotate.html

http://park15.wakwak.com/~unixlife/linux/sys-logrotate.html

ここら辺り参考になりますか?

◎質問者からの返答

質問が悪かったようです。

ごめんなさい。これらは既知です。

netstatをバックグラウンド(デーモンぽく)で実行したいので、シンプルに実装する具体例が欲しいです。

つたないながら、これらのサイトを見ながらならできるとは思いますが、知っている(orデキる)人に聞いたほうが早いという意図です。


2 ●
●0ポイント

netstatの実行は1日に1回で良いのであれば、以下のようなシェルを作ってcronで定期的に実行すれば良いです。

hoge.shを作ります。

#! /bin/sh

TODAY=`date +%Y%m%d`
netstat -i -c > hoge.$TODAY.log

その後、chmodで実行権限を変更します。

/usr/local/bin/hoge.sh にある場合、cronに以下のように設定します。(毎日0時0分に実行する例です。)

0 0 * * * /usr/local/bin/hoge.sh

[参考URL]

質問を読み違えていたら申し訳ありません。

(一日に何度も実行する場合は、リダイレクトを>>にして追記モードで書き込めば良いと思います。)

◎質問者からの返答

えーと、この内容だと、1日ごとにバックグランドプロセスが溜まっていきませんか?

vmstatやpingのように、回数指定ができるなら良いのですが・・・

>> 一日に何度も実行する場合

10秒に1回程度でも良いかも知れないので、-c 10 になるかとは思いますが。


3 ● hnagoya
●30ポイント

http://cronolog.org/ を使って(Debian だとパッケージ化されています、rpm も公開されているようす)

netstat -i -c 10 | cronolog hoge.%Y%m%d.log

というプロセスグループ(?)をずっと実行し続けるか、あるいは(cron かなにかで)定期的に

netstat -i | cronolog hoge.%Y%m%d.log

を実行するという方法もあるかと思います。


4 ● b-wind
●60ポイント ベストアンサー

情報が欲しい粒度にもよりますが、

#! /bin/sh

while true ; do
 TODAY=`date +%Y%m%d`
 netstat -i >> /some/dir/foo.$TODAY.log
 sleep 1
done

を起動時に実行するだけでいいんじゃないでしょうか?

http://q.hatena.ne.jp/1158060545

◎質問者からの返答

ご回答ありがとうございました。

1番理にかなっていてシンプルな処理です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ