如何访问具有动态ip的linux服务器
<br />通用的方法可以采用花生壳,如果觉得麻烦,不妨用下面这个脚本,然后用crontab让它每个10分钟执行一次,如果ip发生变化了,便向你指定的邮箱发送一封包含更新了的ip的邮件。<br /> <br />ipsender<br />----------------------------------------------<br />#!/usr/bin/perl<br /><br />u
通用的方法可以采用花生壳,如果觉得麻烦,不妨用下面这个脚本,然后用crontab让它每个10分钟执行一次,如果ip发生变化了,便向你指定的邮箱发送一封包含更新了的ip的邮件。
ipsender
----------------------------------------------
#!/usr/bin/perl
  use LWP::Simple;
  use strict;
  my $pub_ip_file = '/etc/ipsender/mypubip';
  my $old_pub_ip = `cat $pub_ip_file`;
  chomp($old_pub_ip);
  my $new_pub_ip =  get('http://whatismyip.org');
  chomp($new_pub_ip);
  if($new_pub_ip ne "" && $new_pub_ip ne $old_pub_ip)
  {
      open(IPFILE, ">$pub_ip_file") || die "cannot open $pub_ip_file: $!";
      print IPFILE $new_pub_ip;
      close(IPFILE);
      my $sendmail = "/usr/sbin/sendmail -t";
      my $sendto = 'To: your@mailbox.com';
      my $subject = 'Subject: pubIP@HOME';
      open(SENDMAIL, "|$sendmail") or die "Cannot open $sendmail: $!";
      print SENDMAIL $sendto."/n";
      print SENDMAIL $subject."/n";
      print SENDMAIL "Content-type: text/html/n/n";
      print SENDMAIL "Hi, the public ip at home is changed to $new_pub_ip.";
      close(SENDMAIL);
      system("logger /"public ip updated/"");
  }
  else
  {
      system("logger /"public ip unchanged/"");
  }
----------------------------------------------
更多推荐
 


所有评论(0)