Script amb Python per a crear al vol un llistat de més de 100 VirtualHosts per a l'Apache Web Server

Script amb Python per a crear al vol un llistat de més de 100 VirtualHosts per a l'Apache Web Server

Avui hem fet un script per a exportar 120 webs que tenim a un servidor amb NGINX a un altra amb Apache Web Server, per a provar el rendiment, entre d'altres coses. Com tenim una base de dades amb el nom dels dominis, el codi del directori on els tenim albergats, hem fet un script per a que ens munte els VirtualHosts automàticament.

Ací l'script:

#!/usr/bin/python
# -*- encoding: utf-8 -*-

import os, MySQLdb

# Dades del servidor MySQL
SERVIDOR = 'xyz_xyz'
USUARI = 'xyz_xyz'
CONTRASENYA = 'xyz_xyz'
BASE_DE_DADES = 'xyz_xyz'

db=MySQLdb.connect(host=SERVIDOR,user=USUARI, port=4406, passwd=CONTRASENYA,db=BASE_DE_DADES)
cursor=db.cursor()

# Preparem la consulta que unix la taula "ayuntamientos" y la "responsables_web"
sql="SELECT CODIGO, MUNICIPIO, web FROM ayuntamientos ORDER BY CODIGO asc"
cursor.execute(sql)
resultado=cursor.fetchall()

#Agafem les dades. També les mostrem a la consola de manera interactiva.
for i in resultado:
if (i[0]''):

#Obrim el fitxer de text
f=open("fitxer_resultant.txt","w")

#Agafar les dades i deixem el resultat al fitxer
for i in resultado:

f.write('##############################################\n')
f.write('# VirtualHost ' + i[1] + '\n')
f.write('##############################################\n')
f.write('\n')
f.write('DocumentRoot "/var/www/html/pwm/' + i[0] + '"\n')
f.write('ServerName ' + i[2] + '\n')
f.write('ServerAlias ' + i[2] + '\n')
f.write( 'RewriteEngine on \n')
f.write( 'RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)\n')
f.write( 'RewriteRule .* - [F]\n')
f.write(' \n')
f.write('ErrorLog /var/log/httpd/' + i[2] + '_log\n')
f.write('\n')
f.write('allow from all\n')
f.write('Options +Indexes\n')
f.write('
\n')
f.write('
\n\n\n')

#tanquem el fitxer
f.close()

Espere que trobes útil aquest article i que t'animes a compartir coses tècniques.