免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2509 | 回复: 2
打印 上一主题 下一主题

批量删除站点问题, [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-05 16:45 |只看该作者 |倒序浏览
如果用shell 批量删除站点,请大家指教一下.

如httpd.conf中,有100以上个站点,例到如下信息时候,删除该站点.
  1. <VirtualHost 192.68.18.180>
  2.     ServerAdmin [email]webmaster@test.com[/email]
  3.     DocumentRoot /www/docs/test.com
  4.     ServerName test.com
  5.     ErrorLog logs/test.com-error_log
  6.     CustomLog logs/test.com-access_log common
  7. </VirtualHost>
复制代码


不好断定在那行,
如果用 grep -n test.com|awk  -F ":"' '{print $1}'
只达到删除,
    ServerAdmin webmaster@test.com
    DocumentRoot /www/docs/test.com
    ServerName test.com
    ErrorLog logs/test.com-error_log
    CustomLog logs/test.com-access_log common
这些信息,
删除不了,这些因为这些不好断定,或该站点,加有特殊性的设置,没有test.com字的都无法删除,
<VirtualHost 192.68.18.180>
</VirtualHost>

我想要的效果是, VirtualHost里面包括有test.com站点,则删除<VirtualHost 192.68.18.180>
至到</VirtualHost>行的所有内容,
  1. <VirtualHost 192.68.18.180>
  2.     ServerAdmin [email]webmaster@test.com[/email]
  3.     DocumentRoot /www/docs/test.com
  4.     ServerName test.com
  5.     ErrorLog logs/test.com-error_log
  6.     CustomLog logs/test.com-access_log common
  7. </VirtualHost>
复制代码


所以想大家帮忙想一下,如下处理比较好, 谢谢!

[ 本帖最后由 luo118 于 2007-8-5 16:47 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-08-05 16:56 |只看该作者
慢慢手工删除吧。
以后如果需要添加站点,例如www.foo.org,在httpd.conf 中写一句
include  conf/vhost/www.foo.org
然后单独在/etc/httpd/conf/vhost 中写一个www.foo.org文件,里边的内容就是<Virtu至</VirtualHost>之间的内容。
那么你下次在删除,就没有这些烦恼了。

论坛徽章:
0
3 [报告]
发表于 2007-08-06 10:55 |只看该作者
dd速度还是很快的呢,哈哈
一路dddd
不到10分钟就搞定..
考虑一下sed '/Virtualhost/,/</Virtualhost>/'这样是不是能抓取出里面的所有数据出来,没有测试过

[ 本帖最后由 mxbao 于 2007-8-6 10:56 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP