通过python脚本来修改apache的配置文件:

该脚本可以解析apache配置文件,找到VirtualHost部分,替换DocumentRoot。

#!/usr/bin/pythonfrom cStringIO import StringIO
import revhost_start = re.compile(r'<VirtualHost\s+(.*?)>')
vhost_end = re.compile(r'</VirtualHost>')
docroot_re = re.compile(r'(DocumentRoot\s+)(\S+)')def replace_docroot(conf_string, vhost, new_docroot):'''yield new lines of an httpd.conf file where docroot lines matchingthe specified vhost are replaced with the new_docroot'''conf_file = StringIO(conf_string)in_vhost = Falsecurr_vhost = Nonefor line in conf_file:vhost_start_match = vhost_start.search(line)if vhost_start_match:curr_vhost = vhost_start_match.groups()[0]in_vhost = Trueif in_vhost and (curr_vhost == vhost):docroot_match = docroot_re.search(line)if docroot_match:sub_line = docroot_re.sub(r'\1%s' % new_docroot, line)line = sub_linevhost_end_match = vhost_end.search(line)if vhost_end_match:in_vhost = Falseyield lineif __name__ == '__main__':import sysconf_file = sys.argv[1]vhost = sys.argv[2]docroot = sys.argv[3]conf_string = open(conf_file).read()for line in replace_docroot(conf_string, vhost, docroot):print line,

转载于:https://blog.51cto.com/brucemj/1439819

Python脚本--Apache配置文件相关推荐

  1. Tools_将Python脚本封装成exe可执行文件

    将Python脚本封装成exe可执行文件 将Python脚本封装成exe可执行文件 cx_freeze是用来将 Python 脚本封装成可执行程序的工具,支持最新的Python3.2版本.生成的执行文 ...

  2. 用 Python 脚本实现对 Linux 服务器的监控

    版本说明 Linux 服务器是 Ubuntu 12.10 Python 版本 是 2.7 工作原理:基于/proc 文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核, ...

  3. linux监听apache代码,linux系统使用python监控apache服务器进程脚本分享

    这篇文章主要介绍了linux系统使用python监控apache服务器进程的脚本,大家参考使用吧 crtrl.py监控Apache服务器进程的Python 脚本 复制代码 代码如下: !/usr/bi ...

  4. python脚本编写_【PyQGIS】编写用于处理框架(QGIS3)的Python脚本

    可以编写可通过QGIS中的Python控制台运行的独立pyqgis脚本.进行一些调整,即可使您的独立脚本通过处理框架运行.这具有几个优点.首先,获取用户输入和写入输出文件要容易得多,因为Process ...

  5. python从外部传入参数_从另一个Python脚本运行一个Python脚本,并传入参数 - python...

    我想从另一个Python脚本运行一个Python脚本.我想像使用命令行一样传递变量. 例如,我将运行我的第一个脚本,该脚本将遍历值列表(0.1.2.3),并将其传递给第二个脚本,依次为script2. ...

  6. spark-submit提交python脚本过程记录

    最近刚学习spark,用spark-submit命令提交一个python脚本,一开始老报错,所以打算好好整理一下用spark-submit命令提交python脚本的过程.先看一下spark-submi ...

  7. linux定时执行python脚本_linux定时执行python脚本的方法以及失败不执行的处理方法...

    首页,linux定时任务用到的是crontab,我们来看一下crontab如何使用 crontab-1[user]-列出用户目前的crontab. crontab-e[user]-编辑用户目前的cro ...

  8. python写linux脚本_Linux下设置python脚本文件为服务

    (最简单的方式nohup python xxx.py) ------------------------------------------------------------------------ ...

  9. 从Python脚本判断服务器不可达,到Zabbix报警

    1.Python脚本获取不可达服务器的IP: 脚本基于Python3.3.6,Python2.x版本的queue模块应该是Queue,导入模块时:"from Queue import Que ...

最新文章

  1. [笔记]filter,空字符,0,None都是False应用
  2. NumPy - ndarray
  3. hiveserver2和metastore简要概括作用
  4. win7(64位)php5.5-Apache2.4-mysql5.6环境安装
  5. 区块链教程(五):合约编写实战实例
  6. MLSQL解决了什么问题
  7. python的重点和难点_python知识点汇总-Go语言中文社区
  8. map 和 hash_map 的使用方法
  9. 2021年教你如何用笔记本把Windows10系统安装到移动固态硬盘或U盘简易教程
  10. 历史周期律 多久_什么是“历史周期律”?
  11. TorchScript简介
  12. [工作报告]转载:程序员绩效总结_年终总结怎么写?
  13. 软件工程研究生在读一年总结
  14. java web简单项目实例_简单粗暴,详细得不要不要的 JavaWeb快速入门实例(1)
  15. 如何使用计算机中对数函数,excel对数函数LN,LOG函数等. 使用示例说明excel如何找到对数...
  16. 企业微信怎么输入服务器id,微信企业号的agentid怎么查看?如何获取?
  17. String截取指定字符前面(后面)所有字符和String的常用方法
  18. svn冲突问题详解 SVN版本冲突解决详解
  19. 【BDTC 2017】专访中兴通讯杜学军:uSmartInsight,大数据与人工智能融合平台
  20. 命不好,因为你同床共枕的人

热门文章

  1. Java-String类型的参数传递问题
  2. 使用 Apache MINA 开发高性能网络应用程序
  3. 八大攻略破解高级口译阅读
  4. Liferay研究-smilingleo
  5. java NIO 文章
  6. java 控制语句、数组、方法
  7. simple2.py
  8. git 版本控制系统初学
  9. 出现could not find developer disk image解决办法和不受信任的开发者
  10. 安卓逆向入门教程(一)