ぽっぺん日記@karashi.org
2004-01-31(Sat) 晴れ この日を編集
_ パーツ整理
ルータマシンを組みべく、死蔵してあったパーツを出してきて、動作チェックしてみた。
うむむ。Duron1個が動かん。焼いちまったか? とりあえず、他のもんは動いたので後日、もう一回確かめよう。*1
*1 「いまさら」なCPUなんで捨てちまってもいいんだけど、もったいないしなー。
_ Skype
あまりインターネット電話(っていうのか?)には興味がなかったのだが、otsuneさんの影響を受けて会社のPCにインストールしてみた。
ほほぅ。確かに設定いらずで、これは便利だわ。こういった方面にあまり詳しくない家族友人知人にも勧められますな。
_
遥かなる俊翼―日本軍用機空戦記録 (文春文庫)(渡辺 洋二)読了
これで著者の作品は3冊目。
2005-01-31(Mon) この日を編集
_ 朝
いつも通りに起床。
_
入門 オブジェクト指向設計―変更に強く生産性が高いシステムを(今野 睦/滝沢 克泰)
大規模な開発とかしてる人には常識なのかもしれんが、俺のようなヘタレには目から鱗が落ちまくりな内容。
今まで適当に技術書を読んできたせいで、読んだのは良いが、ただ読んだというだけで、それをどう自分の仕事に適用すればいいのか、今ひとつ分からなかったのだが、これを読んで、やっと一つの形として見えかけてきたような感じ。うまく説明できんけど。
とりあえず、個人的には買って良かったと心から思っている。
_ bsfilter
俺の環境だと、spam-cutoffは0.5くらいがちょうど良さげ。
今のとこ、海外からのspamメールはほぼ100%、正確に判定してくれている。
日本語のspamはクリーン・メールと判定してしまう傾向があるようだが、これはまだサンプルが少なくて学習が足りないせいだろう、たぶん。
_ 明日から繁忙期に入るので早く寝る
あー、1ヶ月ちょいの間、激戦だなー。
2007-01-31(Wed) この日を編集
_ gmirror簡易監視用Nagiosプラグイン
gmirrorがちゃんと動いているかどうかNagiosで確認したくなったので、プラグインをググってみたけれど見付からない。
ってことで、Perlの習作も兼ねて書いてみた(smarttoolsがあれば充分なんだけど)。
ただ単に
# /sbin/gmirror status -s
の結果を取って、DEGRADEDが出たら、CRITICALを送っているだけ。めちゃくちゃ簡単で申し訳ない。m(__)m
簡単すぎて役に立たないと思うけど、ツッコミを頂ければ幸いです。
check_gmirror:
#!/usr/local/bin/perl
use warnings;
use strict;
use Getopt::Long;
use Readonly;
use lib "/usr/local/libexec/nagios";
use utils qw(%ERRORS &print_revision &support);
Readonly my $PROGNAME => 'check_gmirror';
Readonly my $REVISION => 'Revision: 0.0.1 $';
Readonly my $GMIRROR => '/sbin/gmirror';
Readonly my $GMIRROR_ARGS => 'status -s';
my ($opt_h, $opt_V);
my ($result, $message, @status);
Getopt::Long::Configure('bundling');
GetOptions(
"V" => \$opt_V, "version" => \$opt_V,
"h" => \$opt_h, "help" => \$opt_h,
);
if ($opt_V) {
print_revision($PROGNAME, $REVISION);
exit $ERRORS{'OK'};
}
if ($opt_h) {
print_help();
exit $ERRORS{'OK'};
}
$result = 'OK';
$message = q{};
# Check gmirror command
if ( !( (-f $GMIRROR) && (-x $GMIRROR) ) ) {
$message = "$GMIRROR is not executable";
$result = 'WARNING';
}
else {
my $return_val = system("$GMIRROR $GMIRROR_ARGS >/dev/null 2>&1");
if ($return_val != 0) {
$message = "Error while calling $GMIRROR";
$result = 'WARNING';
}
}
if ($result ne 'OK') {
print "GMIRROR $result: $message\n";
exit $ERRORS{$result};
}
# Check gmirror status
@status = `$GMIRROR $GMIRROR_ARGS 2>/dev/null`;
STATUS:
for my $line (@status) {
chomp $line;
if ($line =~ m{COMPLETE}xms) {
$message = append_message($message, $line, q{|});
}
elsif ($line =~ m{DEGRADED}xms) {
$result = 'CRITICAL';
$message = append_message($message, $line, q{|});
}
}
print "GMIRROR $result: $message\n";
exit $ERRORS{$result};
sub append_message {
my($message, $new_message, $delimiter) = @_;
if (length $message > 0) {
$message .= $delimiter;
}
$message .= $new_message;
return $message;
}
sub print_help {
print_revision($PROGNAME, $REVISION);
print build_usage($PROGNAME);
print "\n";
#support();
}
sub build_usage {
return <<"END_USAGE";
Usage: $PROGNAME
Options:
-h, --help
Print detailed help screen
-V, --version
Print version information
END_USAGE
}


まで頂ければ幸いです。
海上保安官(坂本 新一)
海をひらく(桜林美佐)
ぼくは猟師になった(千松 信也)
神の家の災い (創元推理文庫 M ト 7-3)(ポール・ドハティー)
一人ひとりに未来を創る力がある テラ・ルネッサンス 1―「心を育てる」感動コミック VOL.3(田原 実)