ºìÁªLinuxÃÅ»§
Linux°ïÖú

LinuxÁ½ÖÖ¼òµ¥Ìæ´ú¡°»¨Éú¿Ç¡±Èí¼þµÄ°ì·¨

·¢²¼Ê±¼ä:2007-08-05 00:08:32À´Ô´:ºìÁª×÷Õß:Ddrmail
¼ÒÀïÓлúÆ÷£¬²¦ºÅÉÏÍø£¬ÓжÀÁ¢µÄip, ¿ªÁ˺ܶà·þÎñ£¬ÏëÔÚÍâÃæËæÊ±·ÃÎÊÔõô°ì£¿³öÈ¥µÄʱºò¼ÇסÁ¬ÏßµÄip? ÍòÒ»¶ÏÁËÏߣ¬×Ô¶¯ÖØÁ¬ÒÔºóipÒ²¾Í±äÁË£¬ÄÇô½â¾ö·½·¨Ò²ÐíÊÇÓá°»¨Éú¿Ç¡±Èí¼þ¡£»¨Éú¿ÇÒ²ÓÐLinux°æ±¾£¬È·ÊµÊÇÒ»¸öÑ¡Ôñ£¬µ«ÊÇËüÏ൱ÓÚÊǰÑÄãµÄip publishµ½ÍøÉϵ쬼ÙÉèÄã×Ô¼º¶Ô×Ô¼ºµÄ°²È«²»ÊǺܷÅÐÄ£¨¿öÇÒÄãÒ²²»ÖªµÀ»¨Éú¿ÇÊÇ·ñËѼ¯ÁËÄãµÄʲôÐÅÏ¢£©£¬¶øÇÒÄãµÄÄ¿µÄÒ²Ö»ÊÇС·¶Î§Ê¹Ó㨱ÈÈç¾ÍÄ㣬Äã¼ÒÈË»òÕß¼¸¸öÒªºÃµÄÅóÓÑ£©µÄ»°£¬ÄÇôÕâ¸ö¶¯Ì¬ipÍêÈ«¿ÉÒÔͨ¹ý¸öÈËÓʼþµÄ·½Ê½À´´«²¥£¬±¾È˼òµ¥ÃþË÷ÁËÁ½¸ö½â¾ö·½°¸£¬Ò»ÊÇ»ùÓÚknemo+kmail£¬¶þÊÇ»ùÓÚ udev+mail+exim4¡£

ÏÂÃæ¼òµ¥½éÉÜһϣº

1. knemo + kmail
knemoÊÇkdeÏÂÃæ¼à¿ØÍøÂçµÄÈí¼þ£¬Ö§³Öʼþ´¥·¢£¬kmailÊÇkdeÏÂÃæµÄÓʼþ¿Í»§¶Ë£¬Ö§³ÖdcopµÄ½Å±¾µ÷Óã¬ÅäÖõIJ½ÖèÈçÏ£º

´´½¨Ò»¸ö×Ô¶¯»ñµÃ²¦ºÅÁ¬½Ó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µ±ÖеĶÔÓ¦Ö´ÐеijÌÐò¼´¿É¡£

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"
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ