diff options
author | ramon <ramongomez@us.es> | 2012-04-27 10:24:20 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2012-04-27 10:24:20 +0000 |
commit | 0f16e9fbb57e3c3ea7f88f6d659771db48bd0a71 (patch) | |
tree | 47f439d9d378b2b6d8afee7019dbc9e3365dc8fe /server | |
parent | 12e8e382a3d6182434be849980b10ba7e04d098b (diff) |
Versión 1.0.4, #488: Integrar ticket:488 en rama de desarrollo.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@2995 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'server')
-rwxr-xr-x | server/bin/compareDhcpOpengnsys | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/server/bin/compareDhcpOpengnsys b/server/bin/compareDhcpOpengnsys new file mode 100755 index 00000000..291000e2 --- /dev/null +++ b/server/bin/compareDhcpOpengnsys @@ -0,0 +1,49 @@ +#!/bin/bash +# Descripcion: scrit compara la configuración de los equipos en el dhcp y la base de datos de opengnsys +# utiliza dos archivos temporales, uno de cada servicio, con el formato nombre;mac;ip. +# El formato depende de que el fichero dhcpd.conf este en el orden "correcto" +# Uso: compareDhcpOpengnsys (fichero DHCP por defecto: /etc/dhcp/dhcpd.conf) +# DHCPFILE=/camino/fichero/dhcpd.conf compareDhcpOpengnsys +# Autora: Irina Gómez, Univ. Sevilla. +# Fecha: 2012-02-08 + + +PROG=$(basename $0) +DHCPFILE=${DHCPFILE:-/etc/dhcp/dhcpd.conf} +TMP_DHCP=/tmp/$PROG-dhcp$$ +TMP_MYSQL=/tmp/$PROG-mysql$$ + +OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"} +SERVERCONF=$OPENGNSYS/etc/ogAdmServer.cfg + +if [ "$USER" != "root" ]; then + echo "$PROG: Error: solo ejecutable por root" >&2 + exit 1 +fi +if [ ! -r $DHCPFILE ] ; then + echo "$PROG: No tenemos acceso al fichero de configuracion del dhcp" + exit 2 +fi + +# Obtener datos de acceso a la Base de datos. +source $SERVERCONF + +trap "rm -f $TMP_DHCP $TMP_MYSQL" 1 2 3 9 15 +# Creo fichero temporal del dhcp +grep -v "#" $DHCPFILE |egrep -e "host " -e "hardware ethernet" -e fixed-address | sed -e 's/.$//' \ + |sed -e s/"^.*host "//g -e s/\{/\;/g -e s/"^.*hardware ethernet "/=/g -e s/"^.*fixed-address "/=/g \ + | sed -e :a -e '$!N;s/\n=/ \;/;ta' -e 'P;D'\ + | sed -e s/\ //g -e s/://g -e s/\;$//g -e s/\;\;/\;/g |sort > $TMP_DHCP + + +# Creo fichero temporal del mysql, de la base de datos de opengnsys +mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \ + "select CONCAT_WS (';', nombreordenador, mac, ip) from ordenadores order by nombreordenador;" > $TMP_MYSQL + +# Comparo los ficheros +echo "Comparamos las configuraciones: < dhcp y > mysql" +diff -i $TMP_DHCP $TMP_MYSQL +[ $? == 0 ] && echo "El ficheros del servicio dhcp y la base de datos de ogAdmBD tienen la misma configuracion" + +rm -f $TMP_DHCP $TMP_MYSQL + |