在Linux实现基于动态IP的WWW服务器
2008-09-25 15:44·
稿源:互联网
基于动态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连接断开和连接时拒绝上载的文件.
scriptsweb_up:
#!/bin/sh
#checknewip
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
exit1
else
return0
fi
else
return0
fi
else
exit1
fi
}
#checkwhethermaroonisconnected
try_connect()
{
ifping-c4-13128.101.118.212>&|grep"0packets">/dev/null
then
return1
else
return0
fi
fi
}
iftry_connect
then
touch/var/run/maroon_connected
else
rm-f/var/run/maroon_connected
fi
#FTPtoupdatepage
if[-f/var/run/maroon_connected]&&new_ip
then
#update_uppageisperlscripts,exitstatusisoppositeofshell
if(!/home/honglu/public_HTML/update_uppage)
then
cd/home/honglu/public_HTML
ifecho"putup.HTML/nlhome/m508/luxxx012/dynamic.HTML"|/usr/bin/FTPmaroon
then
rm-f/etc/last_add
cp/etc/add/etc/last_add
exit0
else
exit1
fi
fi
else
exit1
fi
scriptsweb_down
#FTPtosenddown.HTMLpage
if[-f/var/run/maroon_connected]
then
cd/home/honglu/public_HTML
ifecho"putdown.HTML/nlhome/m508/luxxx012/dynamic.HTML"|/usr/bin/FTPmaroon
then
rm-f/etc/last_add
else
exit1
fi
else
exit1
fi
执行如下脚本:
#!/bin/sh
ifweb_down
then
shutdown-hnow
else
echo"cannotweb_down"
exit1
fi