LinuxÒÁµéÔ°ÂÛ̳'s Archiver

ÕæÎÞ¼« ·¢±íÓÚ 2004-2-4 20:40

ʹÓÃ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]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.