ホーム » コンピュータ (ページ 94)
「コンピュータ」カテゴリーアーカイブ
メールのウィルス除去postfix+amavisd+clamav
気まぐれで自宅サーバの受信メールのウィルス除去の設定。 その前に、自宅サーバ宛のメールなんてめったに来ないけど…
Debian postfix clamav にて見つかったページを参考にする。
(( インストール )) # aptitude install amavisd-new (( /etc/postfix/main.cf )) # amavisd設定 content_filter = smtp:localhost:10024 (( /etc/postfix/master.cf )) # amavisd設定 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o myhostname=localhost
/usr/share/doc/amavisd-new/README.postfix.html を見ると、 amavisfeed とか書いてあるけど、contents_filterのsmtp の欄に amavisfeed とかを 書く設定があるけど、よくわからないんだよなぁ…
Thunderbird 5.0 になったけど

メールソフトのThunderbirdが5.0になった。 Firefoxとバージョン番号の統一で、4.0すっとばし。 でも、公開されたばかりで、多少のトラブル。
まず、プラグインが未対応なのが困る。時間の問題とは思うけど、 Google Contactsがダメ。Gmailの連絡帳の同期がされないのは致命的だ。 それに、ThemeでMacのAqua風のものが未対応。シンプルなテーマがいい。
あと、最近になってようやくIMAP対応になった、yahoo.co.jp をThunderbirdで読んでいるけど、 "[CLIENTBUG] ID is not a valid IMAP Command" なるエラーメッセージが 表示される。IMAPコマンドの実装の不完全さの問題にみえるし、ぐぐれば対応策が すぐに見つかると思ったけど、思ったほどみつからない…
どーでもいいけど、Thunderbird 5号は宇宙ステーションだったか… 小さいころ、プラモデル作ったのを思い出した…
linux-image-2.6.39-2にしたらARPモニタが…
自宅でネットワークに繋がっている機器の モニタリングということで、muninでarpを 観察させていた。 しかし、今回 linux-image-2.6.39-2 が配布されて OSを更新したら、出力グラフの表示のされ方が かわってきた。 arpのデータが廃棄されるまでの時間が延びたみたい。 うーむ….

munin-limitsの警告を最小限に…
(2011/7/7追記)どうも、以下のプログラムでは、メール送信プロセスが 正しく終了せず、メール送信プロセスが溜まってしまう。 muninのcontact.XXX.command にスクリプトを書くのはまずいみたい。 "/usr/bin/perl /…PATH…/notify.pl…" とすれば動いた。 どうも、command にスクリプトが書いてある場合"sh -c" してくれているんだけど、 何か不具合があるような…
muninで、USBRTの温度監視ができて、munin-limitで警告メールがだせるようになった。 でも、本来の目的は家猫の体調のためなので、警告温度は34℃ほどに設定したら、 設定温度を越えたら5分おきに、ずーっとメールが届く。 さすがに、職場じゃ大量のメールが届くので、状態が閾値を越えたときにだけメールが欲しい。
メールを送るスクリプトに、warning,criticalのデータ件数をつけて呼び出すようにして、 件数が変化していなければ、メールを送らないようにした。
(( /etc/munin/munin.conf ))
contact.nagios.command \
/usr/bin/perl /etc/munin/my-plugins/notify.pl \ # (7/7修正)
"${var:numwfields}:${var:numcfields}" \
"[Munin] tsaitoh.net" \
携帯メアド
(( notify.pl ))
#!/usr/bin/perl
exit 0 if ( @ARGV < 3 ) ;
my $stat = shift @ARGV ;
my $subj = shift @ARGV ;
my $mailto = shift @ARGV ;
my $last_file = "/var/run/munin/munin.last-stat" ;
my $last_stat = "" ;
# 前回の状態を読み込む
if ( open( FH , "$last_file" ) ) {
$last_stat = <FH> ;
chomp( $last_stat ) ; # chompの使い方間違ってた...
close FH ;
}
if ( $stat eq $last_stat ) {
# 状態の変化がなければ報告しない
exit 0 ;
} else {
# 状態を記録しておく
if ( $stat eq "0:0" ) {
unlink( $last_file ) if ( -f $last_file ) ;
} elsif ( open( FH , ">$last_file" ) ) {
print FH "$stat\n" ;
close FH ;
}
# 報告を送信する
if ( open(FH,"|/usr/bin/mail -s \"$subj\" \"$mailto\"") ) {
while( <> ) {
print FH $_ ;
}
close FH ;
}
}
munin-limitsで警告メール
USBRHで室温監視ができるようになったけど、 暑くなったのに気づかなければいけないので、 munin-limits でメールを送るように設定。
/etc/cron.d/munin-nodeを見ると、警告を送るコンタクト名は”nagios”になっているので、 “contact.nagios.command” に送付先の携帯のメールアドレスを登録することにする。 Debianなら、余計な設定ファイルは細かく触らないに限る…
(( /etc/munin/munin.conf ))
# メールの送り先とSubjectの設定
contact.nagios.command mail -s "[Munin] ${var:group}::${var:host}" 携帯メアド
contact.root.command mail -s "[Munin] ${var:group}::${var:host}" root
# a simple host tree
[localhost.localdomain]
address 127.0.0.1
use_node_name yes
# USBRHの警告範囲
usbrh.tempreture.warning 31
usbrh.tempreture.critical 34
# CPU負荷の警告
load.load.warning 2.5
load.load.critical 3.5
# ディスク使用量の警告
df._dev_sdc1.warning 70
df._dev_sdc1.critical 90
df._dev_mapper_lvm_lvm0.warning 70
df._dev_mapper_lvm_lvm0.critical 90
# プロセス総数の警告
processes.processes.warning 300
processes.processes.critical 400
# S.M.A.R.Tの警告文章は大量で長いから報告させない
smart_sda.contacts no
smart_sdb.contacts no
smart_sdc.contacts no
熱くなってきたしUSBRH復活
USB接続の温度・湿度センサーのUSBRHだけど、 新しいサーバに切り替えて、ドライバの認識がうまくいかないので、 外してあった。 そろそろ部屋も暑くなってきたので、気まぐれで復活をさせてみた。 CPU温度やらHDDのS.M.A.R.Tセンサーで大体の温度は測れているけど、 バックアップ処理で急激に温度変化するし、やはりサーバ処理とは関係のない 温度センサーじゃないとだめ…
以前は、 USBRH driver for Linuxを 使っていたけど、x64のせいなのか、ダメ。 USBRH on Linuxを 使ってみた。以前は、どうもデータ取得に失敗していたけど、 今思うと、"USBRH driver…"と競合してただけかもしんない。 あっさりデータ取得に成功する。
継続して温度観察できるように、muninの設定をしてみた。 センサーは1つだけだし、必要最小限のコードにて…
あとは、警告メールの送信機能の設定かな… munin-limitsあたりを参考に、設定をしてみよう。
#!/bin/bash
#%# family=auto
#%# capabilities=autoconf
USBRH="/usr/local/bin/usbrh"
available="yes"
case $1 in
config)
echo "graph_title USBRH Tempreture/Humidity"
echo "graph_category sensors"
echo "graph_vlabel Temp(C) / Humid(%)"
echo "graph_args -l 0 --base 1000"
echo "humidity.label Humidity"
echo "humidity.draw LINE2"
echo "tempreture.label Tempreture"
echo "tempreture.draw LINE2"
exit 0
;;
autoconf)
if [ "$available" = "yes" ]; then
echo "yes"
exit 0
else
echo "no (daemon isn't running)"
exit 1
fi
;;
snmpconf|suggest)
exit 0
;;
*)
;;
esac
# データの読み出し
values=(`$USBRH`)
echo "tempreture.value" ${values[0]}
echo "humidity.value" ${values[1]}
自宅内のDNSのExpireなどを短く
Android端末で、ほぼGmailなどは、いつでも読める状態だけど、 自宅メールサーバへの接続に失敗することが発生。 多分、自宅でメールを読んだ時のIPアドレスを覚えていて、 自宅外(もしくはWiFi状況が悪くてG3経由になっている時)で、 そのアドレスを使おうとして、繋がらないなどのトラブルが発生しているように思う。 ということで、自宅内DNSサーバのSOA情報を短くする。
$ORIGIN tsaitoh.net. ; $TTL 604800 @ IN SOA perrine.tsaitoh.net. root.perrine.tsaitoh.net. ( 3 ; Serial 600 ; Refresh 300 ; Retry 600 ; Expire 180 ) ; Negative Cache TTL
あれ??、$TTLも短くするんだっけ?
yahoo.co.jpがimapメールサービス開始
少し前にNewsがあったyahooでimapによるメールが使えるようになるサービスが、 ようやく自分のアカウントにも届いた。
メールの設定は、どれもimapを使っているので、設定も簡単と、PCのThunderbirdなどの 設定を変更していく。んで、携帯のAndroid端末,iPod touchと 変更をしていくけど、iPodが設定に手間取った。
最初にアカウントのメールアドレスとパスワードを入力して、次のページで細かい設定を するんだけど、メールアドレスが@yahoo.co.jp だと、自動的にプロトコルがpopに なってしまう。いろいろ試してもダメなので「ドメイン部がyahoo.co.jpだからまずい」 ということなのだから、最初のメールアドレスで、"ya.co.jp"とか、だましのドメイン名を 入れてやった。するとプロトコルをimap/popの選択が出た。 こりゃ、普通の人は設定できん…
エアコンの工事
年末からエアコンが壊れていたけど、夏を前に工事。 朝から思ったより時間がかかった。 最後に工事士さんの評価アンケートの 記入があった。技術屋の興味の下らない質問にも付き合ってくれたし好評価。 ただ細かく言うと、「操作説明は丁寧でしたか?」…一切ないし^_^;。マニュアル見るしいらんし。
新しいエアコンだけど、富士通ジェネラルのnocria。 リモコンとエアコンが無線式なので、赤外線だと届かない…といった心配もない。 さらに、リモコンとパソコンが接続でき、エアコンの温度情報などをモニタリングでき、 電気代の月変化を記録できる。
当然、パソコン大好き人間にすれば、制御対象としては面白い。 まずは、リモコンのデバイスを確認すると、上記のような、USBシリアルのCOMポートデバイス。 あれ、TeraTermでCOMポートにアクセスして通信速度変えまくったけど、反応ないぞ… プロトコルはバイナリなのかな….
久々のEmacs Lisp…
Mac OSでLaTeXを使っていて、Emacsで編集してるんだけど、 *.tex を pTeX アプリに投げるのは面倒だし、Emacs でコンパイルと思うんだが、 MacBookでは動いたものが、動かない。 "M-x shell"でコマンド打つけど、Emacs の補完もされない。 今までPathが通っていて当たり前としか思ってなかったけど、 Emacs の exec-path なんてあったんだ… ということで、init.el に下のようなコードを追加。
# /usr/local/bin も通ってないし…
久々にEmacs lisp 触ると、LISP 自体忘れている…
(( $HOME/.emacs.d/init.el ))
;;
(mapcar
(function
(lambda (str)
(if (file-accessible-directory-p str)
(progn
(setq exec-path (cons str exec-path))
;;(setenv "PATH"
;; (concat str ":" (getenv "PATH")))
))))
'("/usr/local/bin" "/Applications/pTeX.app/teTeX/bin"))


