ʹÓÃperl×Ô¶¯Á¬½Ó3322
Ô´´£ºÎÞÒÔ(ÎÞ˫Сվ[url]http://forumer.com/mushuang[/url])loveunix.net
×ªÔØÇë±£ÁôÔ×÷Õß
ÄÚÈÝ˵Ã÷
¼ÙÈçÎÒÔÚ3322.orgÉÏÓÐÁ½¸öÕʺÅ
ÕʺÅ1wushuang ¿ÚÁîΪwushuangpassword
Õâ¸öÕʺÅÏÂÓÐÁ½¸öÓòÃûloveunix.8800.org,loveu.3322.org
ÕʺÅ2wushuang2¿ÚÁîΪpassword2
Õâ¸öÕʺÅÏÂÓÐÒ»¸öÓòÃûiloveunix.3322.org
È»ºóÏëÒ»¸ö½Å±¾×Ô¶¯×¢²áÕâÁ½¸öÕʺÅÏµĶ¯Ì¬ÓòÃû
²¢ÇÒ¿ª»úºó¾Í¿ÉÒÔ×¢²á ²¢¶¨Ê±¸üÐÂ(ʹÓõÄÍøÍ¨²¦ºÅ ·ÖÅäµÄIP»áÔÚÒ»¶Îʱ¼äºóÊÕ»Ø )
½Å±¾ÈçÏÂ
[CODE]
#!/usr/bin/perl
#
#descript: auto report dyn site info to server,here is [url]www.3322.org[/url]
#auth mushuang(lizl@yztelecom.com)
#2004-02-04 rewrite it with perl
use strict;
# define too marco: DOMAINNAME and IPADDRESS,replace it with real value
my $dyntemplate=q([url]http://www.3322.org/dyndns/update?system=dyndns&hostname=DOMAINNAME&myip=IPADDRESS&wildcard=OFF[/url]);
#define my login info,you can add any dyn sites here,first is
#logininfo,the rest is dyn site name
my $allsiteinfo=[
['wushuang:wushuangpassword','loveunix.8800.org','loveu.3322.org'],
['wushuang2:password2','iloveunix.3322.org'],
];
my $localip=getip();
$dyntemplate=~s/IPADDRESS/$localip/;
my $info;
foreach $info (@$allsiteinfo){
reporttoserv($dyntemplate,@$info);
}
# get local ip address
sub getip(){
my $ip=qx(/sbin/ifconfig ppp0);
$ip =~m/inet addr:(\d+\.\d+\.\d+\.\d+)/;
print "ip is:\n$1\n";
return $1;
}
#report my dyn site config to server
sub reporttoserv(){
my $httpref =shift(@_);
my @siteinfo=@_;
my $login = shift(@siteinfo);
my $dnsname;
for $dnsname (@siteinfo){
my $link =$httpref;
$link =~s/DOMAINNAME/$dnsname/;
system("/usr/bin/lynx -mime_header -auth=$login -dump \"$link\"");
print "/usr/bin/lynx -auth=$login -dump $link\n";
}
}
[/CODE]
±£´æ³Éa.pl
ʹÓÃʱʹÓÃperl a.pl¾Í¿ÉÒÔ
ÖªµÀÁËÕâ¾Í¿ÉÒÔ×Ô¼ºÐÞ¸ÄÁË
ÄǸöÊý×éµÄ¸ñʽÈçÏÂ
Óû§Ãû:¿ÚÁî,Õ¾Ãû1,Õ¾Ãû2,Õ¾Ãû3
Èç¹ûÖ»ÓÐÒ»¸öÕ¾Ãû ÄǾÍдһÏîºÃÁË Èç¹ûÓжà¸öÕ¾Ãû ¾ÍÔÚºóÃæÒ»Ö±Ìí¼Ó
Èç¹ûÓжà¸öÕʺŠÄǾÍÌí¼Ó¶à¸öÊý×é Èç¹ûÖ»ÓÐÒ»¸öÕʺžÍÖ»Ìí¼Ó1¸öÊý×é
Ö´ÐÐ:
1 ϵͳÆô¶¯Ê±Ö´ÐÐ
ÎҵĻ·¾³Îªdebian,Æô¶¯½Å±¾ÊÇ/etc/init.d/rcS
ÔÚ/etc/rcSÖÐÌí¼ÓÒ»ÐÐÈçÏÂ
/bin/sh /etc/init.d/rc.local(Æô¶¯Ê±×Ô¶¯Ö´ÐÐÕâ¸ö ż²»Ï²»¶ÐÞ¸Äϵͳ½Å±¾)
È»ºóÔÚÕâ¸ö½Å±¾ÏÂÌí¼ÓÒ»ÐÐ
at -f /home/lizl/perl/autorun.sh now+3minutes
ϵͳÆô¶¯Ê± Èç¹ûÖ±½ÓÖ´Ðеϰ²»³É¹¦ ËùÒÔÎÒ²»µÃ²»Ê¹ÓÃat ÈÃËüÔÚϵͳÆô¶¯3·ÖÖÓºóÆô¶¯
(Ó¦¸ÃÊÇÒòΪPPPOE»¹Ã»ÓÐÆô¶¯ )
×¢Òâ½Å±¾Ó¦¸ÃÊÇËùÓÐÈ˶¼¿É¶Á¿ÉÖ´ÐÐ
2 ×Ô¶¯Ö´ÐÐ Õâ²»ÓÃ˵µ±È»ÊÇʹÓÃcronÁË
*/30 * * * * root /home/lizl/perl/autorun.sh >/dev/null 2>&1
autorun.shÖÐÄÚÈÝÈçÏÂ
/usr/bin/perl /home/lizl/perl/a.sh
OK
Íê³É
Ò³:
[1]