Top_Page

IP Messengerを使う


1.リアルタイムに警告する

トラフィックが増えるので、組織だった管理をされているネットワークでの使用はどうかと思うけれども、小グループ内でのちょっとしたメッセージやファイルの交換にはIP Messengerが便利に使える。

このソフトは、結構昔からあって良く使われているのか、Java版やLinux版など、いろんな互換プログラムが作られている。

Windows版はタスクトレイに常駐するタイプで、常に受信待機している。

これをLinuxサーバーの状況監視にも使えないかと思って、ソフトを探してみると、いくつかそれらしいのが見つかった。

まず、Debianのリポジトリに登録されているモノで、X上で使用できるXIP Messengerというのがあった。

しかし、これはGUI操作が基本なのでスクリプトからの操作にはあまり向いていない。

これ以外もWindows版の使い勝手が結構良いので、同じような使い方のモノが多いようだ。

スクリプトから使う事を考えて、他にも探してみるとText IP Messengerというモノを公開してくれている人がいた。

こちらはコマンドライン操作用なのでスクリプト内で自由に使える。

早速、ソースをダウンロードしてコンパイル。試しにメッセージをWindows側に送ってみると、問題なく表示できている。

常駐プロセスを介してメッセージを送るようになっているが、tipmsg側にメッセージを送る事は考えていないのでメッセージを送信する時だけ起動するようにする。
後は、必要な時に呼び出されるスクリプトに、このコマンドを書いておけばOK。

おっと、このコマンドにはブロードキャストみたいな機能が無い。

が、現在認識可能な相手のリストは取得する事が出来るから、ブロードキャストしたい時は、スクリプトでリストを取得して、メッセージ送信を繰り返し実行って事で解決できる。
 デーモンモードで起動して(-Dオプション)
 ユーザー一覧を取得(-U)
 ユーザー一覧から送信先を取得してメッセージ送信を繰り返し(-sで連続実行)

cronなどで定期的にサーバーをチェックして、全員に警告とかしたい場合は、ブロードキャスト用スクリプトを呼ぶと。

投げっ放しのメッセージだけど、複数の相手に投げる場合は、多分誰かが気付くだろう。

確実性が必要なモノはメールでも送れば良い。

Debianから日本語交じりで送ると・・・ありゃ、UTF-8対応じゃないねぇ。

って事でメッセージはnkfで変換してtipmsgに渡すか、あらかじめ変換したメッセージファイルを用意しておくかってとこ。

適当サンプル:

日本語メッセージを送信するなら、nkfで変換。
$ nkf -e ~/メッセージファイル | ~/bin/tipmsg -e -s 送信先
ブロードキャストするなら、tipmsgのフォルダにuserlistが生成されるのでそれを参照して、スクリプトを実行。
#!/bin/sh
~/bin/tipmsg -D
sleep 3
list=`awk 'BEGIN{FS=":"}{print $2}' ~/tipmsg/userlist`
for target in $list
do
  echo $target | tipmsg -e -s $target ;
done
~/bin/tipmsg -t


Top_Page
(C) Copyright 2000-2010 KaZuDo