在Linux实现基于动态IP的WWW服务器

发表于:2007-07-04来源:作者:点击数: 标签:
基于动态ip的 服务器 同样可以开设www服务接受客户端的访问,这可以通过以下的脚本来实现.请先建立PPP连接,配置好Httpd, 测试 它可以工作. 建立如下的脚本程序: * web_up: 上载网页的脚本. * web_down: 断开连接的脚本. * update_uppage: Perl 脚本创建包含更

  基于动态ip的服务器同样可以开设www服务接受客户端的访问,这可以通过以下的脚本来实现.请先建立PPP连接,配置好Httpd,测试它可以工作.
  建立如下的脚本程序:
  * web_up: 上载网页的脚本.
  * web_down: 断开连接的脚本.
  * update_uppage: Perl 脚本创建包含更新IP地址的HTML页面.
  * up.HTML_source; 固定部分的页面.
  * down.HTML: 连接断开时使用的页面.
  * /etc/add, /etc/last_add: 存放IP地址的文件.
  * ip-down, ip-up: PPP连接断开和连接时拒绝上载的文件.
  
  scripts web_up:
  #!/bin/sh
  #check new ip
  new_ip()
  {
  if [ -f /etc/add ] ; then
  if [ -f /etc/last-add ] ; then
  if /usr/bin/diff /etc/add /etc/last_add >/dev/null ; then
  exit 1
  else
  return 0
  fi
  else
  return 0
  fi
  else
  exit 1
  fi
  }
  #check whether maroon is connected
  try_connect()
  {
  if ping -c4 -13 128.101.118.21 2>& | grep "0 packets" > /dev/null
  then
  return 1
  else
  return 0
  fi
  fi
  }
  if try_connect
  then
  touch /var/run/maroon_connected
  else
  rm -f /var/run/maroon_connected
  fi
  # FTP to update page
  if [ -f /var/run/maroon_connected ] && new_ip
  then
  # update_uppage is perl scripts, exit status is opposite of shell
  if ( ! /home/honglu/public_HTML/update_uppage )
  then
  cd /home/honglu/public_HTML
  if echo "put up.HTML /nlhome/m508/luxxx012/dynamic.HTML" | /usr/bin/FTP maroon
  then
  rm -f /etc/last_add
  cp /etc/add /etc/last_add
  exit 0
  else
  exit 1
  fi
  fi
  else
  exit 1
  fi
  
  scripts web_down
  # FTP to send down.HTML page
  if [ -f /var/run/maroon_connected ]
  then
  cd /home/honglu/public_HTML
  if echo "put down.HTML /nlhome/m508/luxxx012/dynamic.HTML" | /usr/bin/FTP maroon
  then
  rm -f /etc/last_add
  else
  exit 1
  fi
  else
  exit 1
  fi
  
  执行如下脚本:
  
  #!/bin/sh
  if web_down
  then
  shutdown -h now
  else
  echo "can not web_down"
  exit 1
  fi

原文转自:http://www.ltesting.net