分类:
2010-03-30 20:06:00
1. knemo + kmail
knemo是kde下面监控的软件,支持事件触发,kmail是kde下面的邮件客户端,支持op的脚本调用,配置的步骤如下:
创建一个自动获得拨号连接ip并通过kmail发送的脚本:
#!/bin/bash
FROM="none"
TO="youname@xxxx.com"
CC="yourfiend@yyyyy.com"
BCC=""
SUBJECT="Today's PPP address"
sleep 10s
MESSAGE=`/sbin/ifconfig /bin/sed -e '/P-t-P/!d' -e 's/^[[:space:]]* inet addr://g' -e 's/[[:space:]]*P-t-P:.*Mask:.*$//g'`
ATTACHMENT="[] []"
dcop
kmail MailTransportServiceIface "sendMessage(QString, QString, QString,
QString, QString, QString, KURL::List)" "$FROM" "$TO" "$CC" "$BCC"
"$SUBJECT" "$MESSAGE" $ATTACHMENT
然后将其作为knemo配置的notification当中的对应执行的程序即可。
knemo配置是在 kcontrol -> internet&network -> network monitor -> Misc 面板上。
2. udev + mail + exim4
第一个方式很简单,但是需要你是使用kde并且时刻将自己的桌面开着(因为比需要有knemo和kmail),第二个方式是获取内核的变动,万一断了重新连接,/sys/下面设备文件发生变化就触发,不依赖X和桌面系统。
exim4的配置这里就不说了,自己网上看。
对应的发送的脚本( /XXXXX/ppp-address.sh )修改如下:
#!/bin/bash
FROM="none"
TO="youname@xxxxx.com"
CC="yourfriend@yyyyy.com"
BCC=""
SUBJECT="Today's PPP address"
sleep 10s
MESSAGE=`/sbin/ifconfig /bin/sed -e '/P-t-P/!d' -e 's/^[[:space:]]* inet addr://g' -e 's/[[:space:]]*P-t-P:.*Mask:.*$//g'`
echo "$MESSAGE" /usr/bin/mail -s "$SUBJECT" -c "$CC" -b "$BCC" "$TO"
udev 规则添加:/etc/udev/rules.d/ 下面添加一个规则文件如 z100_ppp_ip_letter.rules 内容为:
ACTION=="add", SUBSYSTEM=="net", KERNEL=="ppp[0-9]", RUN+="/XXXXX/ppp-address.sh"