重い処理が終わったらgoogle talkで通知する – 橋本詳解
が便利で、サーバーでの処理が終わったらIM通知するのに使っている。
IMはポップアップして音も鳴るので、Terminalを睨んでなくても良くなる
(サーバーで使う物と、自分が普段使うのとでGoogleアカウントが2つ必要)
追記:どうやらtoもuserも同じアドレスを指定して大丈夫らしい
最近使用頻度が上がってきたので、ちょっとなおした。デフォルト送信先を追加した。設定を、ホームディレクトリに設定ファイルとして置けるようにしたいな
#!/usr/bin/ruby
require ‘rubygems’
require ‘xmpp4r’
require ‘kconv’
user = ‘your-account@gmail.com’
pass = ‘gmail-password’
exit(1) if ARGV.length == 0
to = ‘hashimoto.shokai@gmail.com’ # デフォルトの送信先
to = ARGV.shift if ARGV.length > 1
body = ARGV.shift.toutf8
puts ‘sending ‘ + body + ‘ to ‘ + to
client = Jabber::Client.new(Jabber::JID.new(user))
client.connect(‘talk.google.com’, 5222)
client.auth(pass)
msg = Jabber::Message.new(to, body)
client.send(msg)
これをパスの通ったディレクトリにgtalk-sendという名前にして置いておけば、コマンド一発でGoogleTalkに通知できる
gtalk-send hashimoto.shokai@gmail.com “mag server: レンダリング終了しました”
あるいはデフォルト送信先には引数1つでいける
gtalk-send “mag server: レンダリング終了しました”
コンソールで ; で区切って複数コマンド入力できるので、こんな感じで
sudo apt-get update ; gtalk-send “アップデート終了”
update終わったらIMが来る。