免费注册 查看新帖 |

Chinaunix

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

[系统管理] apache配置文件批量修改 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-27 10:43 |只看该作者 |倒序浏览
现在需要提取apache配置中的DocumentRoot的目录作为条件,为每个DocumentRoot设置一个别名
xx=`awk /DocumentRoot/ new.conf | awk '{print $2}' |sed 's/"//g'  | sed 's/\// /g' |awk '{print $NF}'`
doc=`awk /DocumentRoot/ new.conf | awk '{print $2}'`
for a in $xx
        do

                sed '/DocumentRoot/a\Alias /'$a' "'$doc'" ' new.conf
        done


这里有2个列表参数需要处理,for处理不好,求指导?怎么能实现$a和$doc都是对应的呢?求科普。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
2 [报告]
发表于 2014-10-27 11:09 |只看该作者
DocumentRoot 修改之前和修改之后的内容分别发出来看看

论坛徽章:
0
3 [报告]
发表于 2014-10-27 11:35 |只看该作者
回复 2# Shell_HAT


    例如:原来的配置中有段DocumentRoot /data/website/xxx  截取xxx作为alias的参数,利用sed在DocmentRoot下面插入alias /xxx /data/website/xxx

实现效果如下
DocumentRoot /data/website/xxx
alias /xxx /data/website/xxx
   

论坛徽章:
1
摩羯座
日期:2015-01-08 14:01:55
4 [报告]
发表于 2014-10-27 11:45 |只看该作者
  1. sed -r 's|(/\w+)$|\1\nalias \1 /data/website\1|' filename
复制代码

论坛徽章:
0
5 [报告]
发表于 2014-10-27 12:45 |只看该作者
回复 4# 可恶的

这个操作会改变其他alias的配置,刚我说的可能不太完全,documentroot 这个路径不是绝对的,还包括其他路径,所以....

   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
6 [报告]
发表于 2014-10-27 12:47 |只看该作者
回复 5# lbt5210


    所以...请把完整的httpd.conf发出来

论坛徽章:
0
7 [报告]
发表于 2014-10-27 13:15 |只看该作者
本帖最后由 lbt5210 于 2014-10-27 13:18 编辑

回复 6# Shell_HAT

类似这样
原来的样子
<VirtualHost *:80>
        ServerName www.a.cn
        DocumentRoot /data/website/dgzmt/s39590
        DirectoryIndex index.htm index.html index.jsp index.wml
        Include conf/default_host.conf
</VirtualHost>
需要的样子
<VirtualHost *:80>
        ServerName www.a.cn
        DocumentRoot /data/website/dgzmt/s39590
        Alias /website/dgzmt/s39590 /data/website/dgzmt/s39590
        DirectoryIndex index.htm index.html index.jsp index.wml
        Include conf/default_host.conf
</VirtualHost>


<VirtualHost *:80>
        ServerName www.b.cn
        DocumentRoot /data/website/zscq
        DirectoryIndex index.htm index.html index.jsp index.wml
        Include conf/default_host.conf
</VirtualHost>
<VirtualHost *:80>
        ServerName www.c.cn
        ServerAlias cand.dg.gov.cn chairbay.dg.gov.cn
        DocumentRoot /data/website/CAXQ/s38927
        DirectoryIndex index.htm index.html index.jsp index.wml
        Include conf/default_host.conf
        alias /CAXQ /data/website/CAXQ
        alias /m /data/website/wapCAXQ
        alias /en /data/website/enCAXQ
        alias /enm /data/website/enwapCAXQ
</VirtualHost>
<VirtualHost *:80>
        ServerName www.d.cn
        DocumentRoot /data/website/chashan/
        DirectoryIndex   index.htm index.html
        Include conf/default_host.conf
        alias /zjcs /data/website/s40368/
        alias /csNews /data/website/s40376/
        alias /zwgk /data/website/s40366/
        alias /wsbs /data/website/chashan/s40367/
        alias /wlwz /data/website/chashan/s40369/
</VirtualHost>


   

论坛徽章:
0
8 [报告]
发表于 2014-10-27 15:45 |只看该作者
@Shell_HAT  hat哥   

论坛徽章:
0
9 [报告]
发表于 2014-10-27 15:45 |只看该作者
@Shell_HAT  hat哥   

论坛徽章:
0
10 [报告]
发表于 2014-10-27 16:03 |只看该作者
回复 4# 可恶的


    这个条件不能匹配路径格式是/结束的行,另外还会操作alias的行,是否条件还可以修改的更精确点呢?求指教。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP