在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
shu
tdown -h now
else
echo "can not web_down"
exit 1
fi
原文转自:http://www.ltesting.net