- - PR -
dhcpの払い出し数を数えるbashを作りたいんですが
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-06-14 00:21
もう一つ要件がでてきました。
【新要件】 払い出しの時刻をチェックすることです。 【私の方法】 grep(perl)を使って以下のように出力しました。(改行コードを置換) lease 192.168.1.198 { ends 5 2006/05/26 06:42:10;binding state active; lease 192.168.1.197 { ends 5 2006/05/26 08:42:10;binding state active; lease 192.168.1.196 { ends 5 2006/05/26 09:42:10;binding state active; lease 192.168.1.195 { ends 5 2006/05/26 10:42:10;binding state active; この中から、endsの日付が今より後のものだけを検出するには、どうすればよいでしょうか。 |
|
投稿日時: 2006-06-14 01:28
少なくとも、以下の次の3つの技術的な課題があります。
1) dhcpd.leasesのなかの、endsの部分の文字列(例: "2006/05/26 06:42:10")を取り出す手段 2) 現在の日時を得る手段 (1,3で比較できるような形式で取得できれば一番楽) 3) 上記の2つを比較する手段 1) は IPアドレスを得る方法と同じ手段が使えるだろうから省略。 2) は、shならdateコマンドを呼び出し(dhcpd.leasesと同じ書式か、あるいは1970年1月1日から の経過秒数で得ると後が楽そう)、gawkはsystime()、perlはlocaltime、pythonはdatetimeモジュールで。 3) は、shは知らないし調べてないのでパス、gawkはmktimeで1)を数値化して大小比較、 perlもたぶん同様かDate::CalcモジュールかDate::Manipモジュールあたりで出来そう、 pythonはたぶんdatetimeモジュールで出来そう。 とりあえず、こんなところで。 |