「剣道人口増やしたい」にウチの道場を登録した。
http://www.geocities.jp/kendojinko
オリンピックでは柔道が大活躍だった。それはそれで、まあいいのだが、やはり柔道はもう武道ではなくスポーツになってしまったんだなぁと感じる。
「剣道人口増やしたい」にウチの道場を登録した。
http://www.geocities.jp/kendojinko
オリンピックでは柔道が大活躍だった。それはそれで、まあいいのだが、やはり柔道はもう武道ではなくスポーツになってしまったんだなぁと感じる。
オリンピック真っ只中だが、もう十数年ぶりにプロ野球観戦に行った(広島Vs巨人)。オープン戦や練習試合を見に行ったことはあったが、本戦(?)は久し振りだ。
巨人戦なので入場者も多い。午後4時過ぎからオープンと同時に入場した。高校生ぐらいの時は熱狂的カープファンだったので、試合前のカープの応援歌演奏などで懐かしい思いがした。最近のカープには全然興味無かったのだ…。
試合の方は、んーなんというか、緊張感のまるでないゲームだった。13-6両軍で30安打。エラー3つ。(ボクのみたところ4つだったが)
先発は背番号24河内投手。実は最近カープの選手知らないので、24ときき大野といっしょの番号なのでちょっと期待はしたのだが…。26年ほど前の大野初勝利の試合を思い出しながら…。
まあ、カープの方もそこそこ打ったのでまあ何回か盛り上がった。桑田もノックアウトしたし…。
なんていうか落日だよな…。カープの選手やる気有るのか無いのかわからない。内野ゴロ打ったら走らんし…。
週に一度届くスパーマーのメールアドレス一覧のスクリプトも修正せねばなるまい。
これで cron 登録してある。
# SPAM Mail Sender Information
1 6 * * 0 grep -B 1 'to local dustbox@****.**.jp' /var/log/maillog.1 | grep from | awk '{print $13}' | sed 's/<//' | sed 's/>
//' | mail -s 'SPAM Mail Sender Information' root
qmail に迷惑メールのフィルタリングのスクリプトをかましたんだが、たったこれだけでも面白いように引っかかる。(^^)
ただ、/var/qmail/bin/bouncesaying で拒否メッセージを返送する設定にしてあったんだが、ほとんど返信されない。
大抵がこんな感じで弾かれる。
昨日に関連するがスパマーのメールアドレスを自動的に抽出する cron 設定
1週間に一度 maillog からスパマーのメールアドレスをメール通知する。
# SPAM Mail Sender Information
1 6 * * 0 grep -B 3 Never_send /var/log/maillog.1 | grep from | awk '{print $13}' | sed 's/<//' | sed 's/>//' | mail -s 'SPAM Mail Sender' root
これを自動的に /var/qmail/control/badmailfromにリダイレクト追加するようにするのはさすがにやりすぎか?(^^;
メールサーバに qmail を使っているのだが、例に違わず迷惑メールはたくさん来る。メールを受信した後にメーラーの振り分け機能でサーバから削除したり、ゴミ箱行きにすることも出来るのだが、メールを受信してる時点ですでに癪に障る。ORDB も使う様に設定してあるのだが、あまり効果はない。
女子サッカーの試合、最後まで見てしまいました。AM2時前。明日(今日)は仕事なんだが…
まだ開幕してないはずなのに、なんで試合があったのかはよくわかりませんが…。
さて
この前取り替えたHDDが SMART ではどうだったのか調べてみた。
#1
=== START OF INFORMATION SECTION ===
Device Model: ST320420A
Serial Number: 3CL10L32
Firmware Version: 3.21
Device is: In smartctl database [for details use: -P show]
ATA Version is: 4
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Wed Aug 11 00:04:07 2004 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
中略...
SMART Error Log Version: 1
ATA Error Count: 20 (device log contains only the most recent five errors)
後略...
#2
=== START OF INFORMATION SECTION ===
Device Model: Maxtor 52049H3
Serial Number: F3H74KHC
Firmware Version: JAC61HU0
Device is: In smartctl database [for details use: -P show]
ATA Version is: 6
ATA Standard is: ATA/ATAPI-6 T13 1410D revision 0
Local Time is: Tue Aug 10 23:57:17 2004 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
中略...
SMART Error Log Version: 1
ATA Error Count: 1940 (device log contains only the most recent five errors)
後略...
ということで、どちらも致命的なエラーは無さそうだが
エラーカウントが20と1940とそれなりに何らかのエラーが出ている。
HDDの自己診断機能のプログラムである。
RedHat 7.1 の場合 root で smartctl 叩いても動かなかった(プログラムが無い)ので以下からダウンロードしてインストールする必要がある。
前回の続きなんですが
サーバディスクを交換する都合上バックアップ先のHDD無しで運用していたところバックアップ元のHDDが「out of space」つまり空き容量なしになってしまった。原因はバックアップスクリプトで、マウントの結果を確かめずファイルをコピーするようになっているため
例えば
mount /dev/hdc1 /mnt/d1
などに失敗した場合マウントポイントである /mnt/d1 以下にファイルがコピーされてしまい、そのうちいっぱいになるのだ。
仕方ないのでスクリプトを急場しのぎで以下の様に変更した。
こんな感じ。
該当のファイルシステムがマウントされて無い場合は即終了させるのだ。
/bin/nice -19 /sbin/fsck.ext2 -p /dev/hdc1 || echo "/dev/hdc1 is crashed" | mail root -s "bk report"
mount -t ext3 /dev/hdc1 /mnt/d1
CHK=`mount | grep /dev/hdc1 | awk '{print $1}'`
echo $CHK
if [ $CHK != "/dev/hdc1" ]; then
exit 0
fi
date
/usr/local/bin/mirrordir / /mnt/d1 --strict-locking --verbose --nice 1 -i --exclude-from /root/backupscript/exclude_d1.dat --exclu
de /proc
mkdir /mnt/d1/proc
date
echo "----------------------------------------------------"
echo " "
umount /mnt/d1
サーバのHDDを予備品に交換した。さすがに365日24時間稼動で3年もほぼ無停止使っているとヤバイだろう…。Linuxを通常手順でインストールせず、コピーだけで同じものを複製しようという魂胆である。(^^;ディスク容量が20G ->80G と異なるしパテーションサイズを変更したかったので DD コマンドは使わない。
(1)cfdisk -z /dev/hdc でパテーション確保。
(2)mke2fs /dev/hdc1~9 で ext2ファイルシステム作成
(3)tune2fs -j /dev/hdc1~hdc9 で ext3 に変換
(4)mkswap /dev/hdc8 でスワップパテーションにスワップ領域作成。
(5)以前に作成したバックアップスクリプトを実行。
(6)マウントポイントを作成
/home, /var, /usr, /samba
(7)HDDに起動情報は存在しないためFDで起動して lilo コマンド実行。これで再起動後はHDDから起動可能である。
で完了である。
長男(写真左)が所属する中学校剣道部チームが中体連(中学校体育連盟)の剣道大会で準優勝した。5名団体戦、2-1でウチの息子(副将)のところに回ってきた。制限時間も半分過ぎたところでドウが決まり、皆んなこれで優勝だと思ったんだが終了間際に取り返されてしまい引分け、その後チームも追いつかれてしまい、代表戦までもつれこんだが、んー惜敗してしまった。
ウチの息子のところで決まりかけていたこともあって、悔しかったんだろう、終わってからは涙がとまらなかった。勝ちにこだわるんであれば、1本目とった後に逃げれば優勝はできていただろう。しかし、本人はそういったやり方は嫌いだし、試合展開どうであれ1本目取っていても、2本目も必ず取りにいく。
堂々とした態度、立派だった。(T-T)
県大会は2位まで出場できる。頑張って欲しい。
今日は8月6日だ。
朝もいつも以上にクルマが渋滞している。
広島に何十年も住んでて初めて「灯篭流し」を見た。
小学校の2年生ぐらいの時にはじめて原爆資料館に行った。特に行くつもりではなかったのだがたまたま遊んでて、子供だけで入館したのだった。強烈なショックを受けたのを今でも鮮明に覚えている…。
黙祷…。
いつも使っている駐車場から出ようとして駐車券を機械に挿入すると料金が3000円だった。た。「いつもながら高いなぁ」と思いながら、銀行でおろしたばかりの新札の1000円札を差し出した。
「あれ?機械が吸い込んでくれないぞ・・・」
![]() |
よくよく調べてみると配列の一つの要素に複数のエントリがあって、複数入る場合もあるようなのだ。ハッシュ値変換などでそうなるようなのだが今ひとつ良く理解していない(^^;
以下参照。
[1]= HashMap$Entry (id=28)
hash= -820427199
key= "key18" <------------------
count= 5
hash= 101943494
offset= 0
value= char[5] (id=54)
next= HashMap$Entry (id=52)
hash= 1493777409
key= "key4" <------------------
next= HashMap$Entry (id=56)
hash= -819273471
key= "key13" <------------------
next= null
value= "13"
value= Integer (id=57)
value= "18"
持ち歩いているノートに使っているオプティカルマウスだが、本日突然動かなくなってしまった。ケーブルのマウス側付け根をグリグリすると直ったりする。ケーブルが接触不良になってしまったためだ。仕方ないのでマウスをオープンし(図)、接触不良部分ケーブルを切断。ふたたびケーブルの被覆を剥がしてハンダ付けして修理した。
ケーブルは中心に紙?か何かの繊維状のものが入ったもので、半田づけしにくいったらありゃしない…。というわけで無事復旧しました。
HashMap で以下の様にコーディングした。
HashMap map = new HashMap();
map.put("key1", new Integer(1));
map.put("key2", new Integer(2));
map.put("key3", new Integer(3));
map.put("key4", new Integer(4));
map.put("key5", new Integer(5));
map.put("key6", new Integer(6));
map.put("key7", new Integer(7));
map.put("key8", new Integer(8));
map.put("key9", new Integer(9));
map.put("key10", new String("10"));
map.put("key11", new String("11"));
map.put("key12", new String("12"));
map.put("key13", new String("13"));
map.put("key14", new String("14"));
map.put("key15", new String("15"));
map.put("key16", new String("16"));
map.put("key17", new String("17"));
map.put("key18", new String("18"));
map.put("key19", new String("19"));
当然 map の中には19個のオブジェクトが存在するはずだが、何故か15個しかない。Integerだけならおかしくないようだが、その後の String でキーが異なるにもかかわらず上書きされてしまうようなのだ。
以下エクリプスのデバッガで取得したもの。
ECLIPSE 2.1.3 / JDK 1.4.2.03
map= HashMap (id=21)
entrySet= HashMap$EntrySet (id=50)
keySet= null
loadFactor= 0.75
modCount= 19
size= 19
table= HashMap$Entry[32] (id=26)
[0]= null
[1]= HashMap$Entry (id=28)
[2]= HashMap$Entry (id=31)
[3]= null
[4]= null
[5]= null
[6]= null
[7]= null
[8]= null
[9]= HashMap$Entry (id=32)
[10]= HashMap$Entry (id=33)
[11]= null
[12]= null
[13]= HashMap$Entry (id=34)
[14]= HashMap$Entry (id=35)
[15]= HashMap$Entry (id=36)
[16]= HashMap$Entry (id=37)
[17]= null
[18]= null
[19]= null
[20]= HashMap$Entry (id=38)
[21]= null
[22]= null
[23]= HashMap$Entry (id=39)
[24]= HashMap$Entry (id=40)
[25]= null
[26]= HashMap$Entry (id=41)
[27]= HashMap$Entry (id=42)
[28]= null
[29]= HashMap$Entry (id=43)
[30]= HashMap$Entry (id=44)
[31]= null
threshold= 24
values= null
何が原因か全然わからない。
別のマシンで動作させるとちゃんと19個だったりするのでタチが悪い(^^;
![]() |
団体(40人ほど)で土日でキャンプに行く予定だったんだが、台風10号のせいでボツになった。しかし、バーベQ用の食材は購入済みだったので土曜の夕方からブルーシート張ったりして無理やりバーべQした。(正気の沙汰?)
なので、暴風雨の中ずぶぬれになりました。(風は大したことなかったが)土曜日夜終了後は結局片付けすらままならない状態だったので日曜日に片付けしました。これまた雨はやんでなかったため、またもやずぶ濡れ…。
バーベQコンロを中腰のまま無理な体勢で洗っていたら、腰を痛めてしまった。寝起きや、椅子から立ち上がる、正座から立ち上がるというのができない~(^^;あいた~