Python脚本--Apache配置文件

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

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

#!/usr/bin/python

from cStringIO import StringIO
import re

vhost_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 matching
      the specified vhost are replaced with the new_docroot
  ‘‘‘
  conf_file = StringIO(conf_string)
  in_vhost = Flase
  curr_vhost = None
  for line in conf_file:
    vhost_start_match = vhost_start.search(line)
    if vhost_start_match:
      curr_vhost = vhost_start_match.groups()[0]
      in_vhost = True
    if 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_line
      vhost_end_match = vhost_end.search(line)
      if vhost_end_match:
        in_vhost = False
      yield line
  
  if __name__ = ‘__main__‘:
    import sys
    conf_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,

Python脚本--Apache配置文件

时间: 2024-10-05 08:52:52

Python脚本--Apache配置文件的相关文章

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

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

将Python脚本封装成exe可执行文件 转

将Python脚本封装成exe可执行文件 http://www.cnblogs.com/renzo/archive/2012/01/01/2309260.html cx_freeze是用来将 Python 脚本封装成可执行程序的工具,支持最新的Python3.2版本.生成的执行文件具有跨平台性,而且运行的系统无须安装Python.目前类似功能的工具还有py2exe 和 PyInstaller,其中貌似py2exe知名度最高了,但是很久没有更新了,至于打包质量不做评价,毕竟萝卜青菜各有所爱:PyI

linux+php+apache web调用python脚本权限问题解决方案

lamp : linux + apache + mysql + php 在上篇随笔中linux+php+apache调用python脚本时出现的问题的根本原因是:apache运行时使用的apache用户权限不够: 由此想到的解决方案是将apache改用root用户来执行,修改/etc/httpd/conf/httpd.conf,但结果是apache运行不起来,初步 判断是apache出于安全方面的考虑,不允许使用root用户运行(此判断是否正确有待验证). 具体解决方案(验证通过): 在sudo

自动化瓦力多渠道打包python脚本

自动化瓦力多渠道打包python脚本 目录介绍 1.本库优势亮点 2.使用介绍 3.注意要点 4.效果展示 5.其他介绍 0.首先看看我录制的案例演示 如下所示,这段python代码很简单,工具十分强大,一键多渠道打包工具. 项目的开源地址:https://github.com/yangchong211/YCWalleHelper 1.本库优势亮点 通过该自动化脚本,自需要run一下或者命令行运行脚本即可实现美团瓦力多渠道打包,打包速度很快 配置信息十分简单,代码中已经注释十分详细.Keysto

Ubuntu16.04实用python脚本 - JDK的配置!

前提已经把Oracle JDK解压缩到指定目录了,我的JDK目录是:"/usr/jdk1.8.0_121" 全部脚本: # coding=utf-8 ,中文注释需要加入编码格式 #这是我的测试文件,在测试这个脚本时候使用,真是使用时候注释掉,用下面的 #configFile = "hello.txt" # 真正要修改的文件,这个文件是系统全局变量,配置完毕,所有用户都可以使用JDK configFile = "/etc/profile" # 操作

Apache 配置文件解析及虚拟机配置示例

配置文件详细解析Apache配置文件默认位于/usr/local/apache2/conf目录下,在该目录下最主要的配置文件是httpd.conf文件,还有一些位于extra目录下的附加配置文件.此外original目录中存有所有这些配置文件的副本.Apache HTTP Sever主配置文件主要由指令以及容器组成,容器使用<容器名称>开始,</容器名称>结尾,容器的指令一般仅在局部有效.下面是对主配置文件重点指定的具体描述.SeverRoot指令ServerRoot指令设置Apa

Python脚本访问Greenplum数据库安装指导

安装前准备 (1)操作系统(系统上面要安装一些必备的开发工具(比如gcc等)) linux-82:/home/PyODBC # cat/etc/SuSE-release SUSE Linux EnterpriseServer 11 (x86_64) VERSION = 11 PATCHLEVEL = 1 (2)安装所需的软件包 greenplum-connectivity-4.3.0.0-build-2-SuSE10-x86_64.zip --GP官网下载,GP的JDBC和ODBC驱动 pyod

PHP 调用Python脚本

上次做用户反馈自动翻译,写了个python脚本,将日文的用户反馈翻译成中文,效果虽然可以,但其它不懂python的童鞋就没法使用了,所以搭了个web服务,让其他人可以通过网页访问查询.使用的是apache服务,具体环境(LAMP)搭建就不细说,主要分享php调用python脚本后台运行的处理. 1. PHP如何调用外部程序 首先要解决的问题就是php如何调用python脚本,在PHP中调用外部程序主要有两个函数,system和exec. system()原型:string system(stri

利用pyinstaller将python脚本打包发布

之前写了一个小工具,将excel配置表转换为json.xml.lua等配置文件.最近在学习egret,正好需要转换配置文件,刚好就用上了.然而当我想把工具拷到工作目录时,就发愁了.之前我为了方便扩展,把程序拆分得太细: [email protected]:~/Documents/code/github/py_exceltools$ ls -lh 总用量 80K drwxrwxr-x 2 xzc xzc 4.0K 7月 27 23:03 bin drwxrwxr-x 2 xzc xzc 4.0K