自从入手了E71,装上PuTTY for Symbian OS后就能通过wifi+ssh远程遥控我的电脑了。一个常遇到的问题,人得跑出去,而电脑上的aMule正在挂高清,我想知道我正等着看的东西什么时候下载完成了,然后我好执行远程关机或者选择继续让aMule下载其他的东西。

思索了下,最好的通知方式莫过于短信,而真正可用的免费短信功能莫过于Google Calendar的短信通知了。由于aMule本身就有Events功能,剩下的唯一问题就是能在linux下执行的Gcal CLI了。好在为Google做的third party的大有人在,很快就找到了Gcalcli这个python客户端,连ebuild在Gentoo Bugzilla上都有了。

gcalcli的用法很简单,先在$HOME目录下创建一个.gcalclirc文件,里面写入以下几行:

[gcalcli]
user:yourname@gmail.com
pw:yourpassword
cals:all

写法无须解释,最好至少给chmod 600 .gcalclirc下,毕竟密码是明文的,给别人看到就糟了。

然后新建一个download-notify.sh的文件,写入如下几行:

#!/bin/bash
#usage: download-notify.sh FILENAME

NOTIFY_TIME=`date --date='+5 min' +%R`
FILENAME=$1
ENTRY="$NOTIFY_TIME $FILENAME download finished"

gcalcli quick "$ENTRY"

这是用来快速添加Google Calendar事件的脚本,设定时间是当前时间的5分钟后(给予一定时间差的容错值免得短信还没来得及通知就已经成历史事件了),文件名将由aMule的Events传递。

接下来要做的是进入Google Calendar设置默认的通知方式,先确保你开通了短信通知功能,然后进入Settings -> Calendars标签页 -> Notifications,将默认通知方式设置为1分钟前短信通知。

gcal-setting

剩下的就是aMule设置的问题了。进入Preferences -> Events,在Event types里选择Download completed,有两个可供执行脚本的input框,第一个是当aMule Core发现下载完成时执行指定命令,第二个是仅当aMule GUI发现下载完成时执行指定命令。不管你使用aMule daemon还是aMule GUI,第一个是绝对可行的。所以开启第一个并输入类似命令sh ~/scripts/download-notify.sh "%NAME"

amule-setting

OK,可用了。短信通知还是蛮及时的,唯一不爽的就是Google非得分两条未满短信通知我。

reminder

有了gcalcli能做的事就多了,例如电脑一旦发现sshd遭受brute force attacks时立刻短信通知,对网管应该比较有用吧 :)

8 Reponses So Far ↓

  1. Druggo:

    我就是那网管,哈哈,不过现在用的是飞信:)

  2. 据说google的短信通知不久后就会取消是吧.

  3. utom:

    很好… 很有趣…

  4. 2:

    Gcalcli 如何安装?下载下来就可用还是需要先安装python支持?

  5. 你直接google下就知道答案的,玩linux离不开man,irc和google的

  6. 圣诞节愉快:

    google的短信通知已取消

Leave a Reply ↓