source: server/bin/compareDhcpOpengnsys @ ddd91fb

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since ddd91fb was 3947ce7, checked in by ramon <ramongomez@…>, 13 years ago

Versión 1.0.4, #488: Comparación independiente del número de espacios en blanco.

git-svn-id: https://opengnsys.es/svn/branches/version1.0@2996 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 1.8 KB
RevLine 
[0f16e9f]1#!/bin/bash
2# Descripcion: scrit compara la configuración de los equipos en el dhcp y la base de datos de opengnsys
3# utiliza dos archivos temporales, uno de cada servicio, con el formato nombre;mac;ip.
4# El formato depende de que el fichero dhcpd.conf este en el orden "correcto"
5# Uso:  compareDhcpOpengnsys    (fichero DHCP por defecto: /etc/dhcp/dhcpd.conf)
6#       DHCPFILE=/camino/fichero/dhcpd.conf compareDhcpOpengnsys
7# Autora: Irina Gómez, Univ. Sevilla.
8# Fecha: 2012-02-08
9
10
11PROG=$(basename $0)
12DHCPFILE=${DHCPFILE:-/etc/dhcp/dhcpd.conf}
13TMP_DHCP=/tmp/$PROG-dhcp$$
14TMP_MYSQL=/tmp/$PROG-mysql$$
15
16OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
17SERVERCONF=$OPENGNSYS/etc/ogAdmServer.cfg
18
19if [ "$USER" != "root" ]; then
20        echo "$PROG: Error: solo ejecutable por root" >&2
21        exit 1
22fi
23if [ ! -r $DHCPFILE ] ; then
24        echo "$PROG: No tenemos acceso al fichero de configuracion del dhcp"
25        exit 2
26fi
27
28# Obtener datos de acceso a la Base de datos.
29source $SERVERCONF
30
31trap "rm -f $TMP_DHCP $TMP_MYSQL" 1 2 3 9 15
32# Creo fichero temporal del dhcp
33grep -v "#" $DHCPFILE |egrep -e "host " -e "hardware ethernet" -e fixed-address | sed -e 's/.$//' \
34        |sed -e s/"^.*host "//g -e s/\{/\;/g -e s/"^.*hardware ethernet "/=/g -e  s/"^.*fixed-address "/=/g \
35        | sed -e :a -e '$!N;s/\n=/ \;/;ta' -e 'P;D'\
36        | sed -e s/\ //g -e s/://g -e s/\;$//g -e s/\;\;/\;/g |sort > $TMP_DHCP
37
38
39# Creo fichero temporal del mysql, de la base de datos de opengnsys
40mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \
41        "select  CONCAT_WS (';', nombreordenador,  mac, ip) from ordenadores order by nombreordenador;" > $TMP_MYSQL
42
43# Comparo los ficheros
44echo "Comparamos las configuraciones: < dhcp y > mysql"
[3947ce7]45diff -bi $TMP_DHCP $TMP_MYSQL
[0f16e9f]46[ $? == 0 ] && echo "El ficheros del servicio dhcp y la base de datos de ogAdmBD tienen la misma configuracion"
47
48rm -f $TMP_DHCP $TMP_MYSQL
49
Note: See TracBrowser for help on using the repository browser.