Free Pocket Diary
Version 2.2.7
―― 1999年10月中旬 ――
この日記は、
日記観察
/
*BSD Diary Links
に捕捉されていることを確認しています。
[ Schedule ] | [ ToDo ] |
|
ppp でプロバイダにつないでいる時間を集計しようと思った。
いままでは、
ppp -background if [ $? -eq 0 ]; then echo "ppp on " `date` >>/home/cake/doc/ppplog fi
という具合に自前のログファイルに吐いていたが、 ppp の接続先やタイムアウト値によってスクリプトが何通りかあったり、 接続がタイムアウトで切れたときの記録がとれなかったりしたので、 記録が不完全で分析する気も起きないという代物だった。
今夜ふとした興味から syslogd 関連のマニュアルを読んでいたら、 logger(1) というコマンドがあるではないか。
LOGGER(1) FreeBSD General Commands Manual LOGGER(1) 名称 logger - システムのログに記録を残す 書式 logger [-is] [-f file] [-p pri] [-t tag] [message ...] 解説 logger は、 syslog(3) システムログ記録モジュールとのシェルコマンドインタ フェースを提供します。
スクリプトからシステムログに記録できるとは、さすがは UNIX。 というわけで、/etc/ppp/ppp.linkup に
!bg /usr/bin/logger -t PPP link-up now.
/etc/ppp/ppp.linkdown に
!bg /usr/bin/logger -t PPP link-down now.
と書いてみた。あとは折を見て /var/log/messeges から grep PPP して、 時刻の引き算(…面倒臭そうだ)をすればいいのだな。
FreeBSD-QandA のえらい人 (*1) からメールを頂く。
/var/log/ppp.log に、
Oct 13 00:23:13 nazareth ppp[18177]: tun0: Phase: Modem: Connect time: 168 secs: 156481 octets in, 85628 octets out
という風に、接続時間とデータ量が吐かれているらしい。
これを足し算すればいいんですね。謝々。
Linuxをゲートウェイに立てて会社のメール環境を外部に接続した。 社内の某方面からセキュリティ対策を強く求められていたので、 DeleGateを使ってメールにフィルタをかまし、
s/^Content-Type: multipart\/alternative;/X-Content-Type: multipart\/alternative;/ s/^Content-Type: text\/html;/Content-Type: text\/plain;/ s/^Content-Transfer-Encoding: base64/Content-Transfer-Encoding: 7bit/
としてやった。(外道)
一般ユーザーは当然復元できないが、ファイルがどっかになくなるということはない。 (泣きつかれたら復元してやらんこともない。)
で、自力で復元できるヤツは当然 自己責任 ということで。
バンド仲間からの添付 midi を開けなかった上司に怒られ (*1) て、結局 base64 のデコーダを配付することに。とほほ。
とりあえず Drag & Drop でさくっとデコードしてくれるようなソフトを Vector あたりで探すが適当なモノがない。 最近のメーラはどれも賢いのでニーズがないのだろう。
しかたがないので自前で用意することにした。
fj.comp.lang.c あたりで目にした記憶では、この頃は cygwin gcc 単体でも、 パラメータ指定によって cygwin*.dll なしで動作するバイナリが作れるらしい、 ということなので、資料をあたってみることにする。
Web で Cygwin FAQ (日本語訳)を見付けてよみよみ。なるほど、 -mno-cygwin で cygwin*.dll なしのリンク、 -mwindows で非コンソールアプリ化できるらしい、どれどれ。
$ gcc -mno-cygwin -mwindows -o fhello fhello.c
をを、ダブルクリックしても DOS 窓が開かない。素晴らしい。
というわけで、半日ほど費して Drag & Drop 対応の base64 デコーダが完成。 明日はもうちょっと研究して、実行ファイルにアイコンを埋め込んだり、 完了のポップアップ (*2) を出したりしてみたい。時間があれば。
このページはTsDiarySystemを用いて生成されています。