source: server/bin/comparedhcpopengnsys @ b897e4e

918-git-images-111dID-1020_logrotateBugID-1037_Mostrar.TipoDisco.WebID-1038_Muestra.el.numero.de.ordenadoresID-1039_Asignar_Disco.Particion.Imagen.AccesoRemotoID-824_Iniciar.Sistema.Restauradodevel-ogadmserver-for-masterdisk-imagemainmaster-1037opengnsys-1.1.1dpreqndtest
Last change on this file since b897e4e was ff019d5, checked in by Ramón M. Gómez <ramongomez@…>, 4 years ago

#957: comparedhcpopengnsys script adapted to common functions.

  • Property mode set to 100755
File size: 2.0 KB
Line 
1#!/bin/bash
2
3#/**
4#@file    comparedhcpopengnsys
5#@brief   Compara la configuración de los equipos en el dhcp y la base de datos de opengnsys
6#@brief   Definir la variable "DHCPFILE" para indicar un fichero DHCP alternativo.
7#@usage   comparedhcpopengnsys
8#@usage   DHCPFILE=/camino/fichero/dhcpd.conf comparedhcpopengnsys
9#@warning El script utiliza dos archivos temporales, uno de cada servicio, con el formato nombre;mac;ip.
10#@warning El formato depende de que el fichero dhcpd.conf este en el orden "correcto"
11#@version 1.0.4
12#@author  Irina Gómez, Univ. Sevilla.
13#@date    2012-02-08
14#*/ ##
15
16
17PROG="$(basename "$0")"
18OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
19SERVERCONF=$OPENGNSYS/etc/ogAdmServer.cfg
20DHCPFILE=${DHCPFILE:-/etc/dhcp/dhcpd.conf}
21TMP_DHCP=/tmp/$PROG-dhcp$$
22TMP_MYSQL=/tmp/$PROG-mysql$$
23
24source $OPENGNSYS/lib/ogfunctions.sh || exit 1
25
26[ "$*" == "help" ] && help
27[ "$*" == "version" ] && version
28[ "$USER" != "root" ] && raiseError access "Solo ejecutable por root"
29[ -r $DHCPFILE ] || raiseError access "No tenemos acceso al fichero de configuracion del dhcp"
30
31# Obtener datos de acceso a la Base de datos.
32source $SERVERCONF 2> /dev/null || raiseError access "Fichero de configuración del servidor"
33
34trap "rm -f $TMP_DHCP $TMP_MYSQL" 1 2 3 9 15
35# Creo fichero temporal del dhcp
36grep -v "#" $DHCPFILE |egrep -e "host " -e "hardware ethernet" -e fixed-address | sed -e 's/.$//' \
37        | sed -e s/"^.*host[[:space:]]*"//g -e s/\{/\;/g -e s/"^.*hardware ethernet[[:space:]]*"/=/g -e  s/"^.*fixed-address[[:space:]]*"/=/g \
38        | sed -e :a -e '$!N;s/\n=/ \;/;ta' -e 'P;D'\
39        | sed -e s/\ //g -e s/://g -e s/\;$//g -e s/\;\;/\;/g |sort > $TMP_DHCP
40
41
42# Creo fichero temporal del mysql, de la base de datos de opengnsys
43dbexec "select CONCAT_WS (';', nombreordenador, mac, ip) from ordenadores order by nombreordenador;" > $TMP_MYSQL
44
45# Comparo los ficheros
46echo "Comparamos las configuraciones: < dhcp y > mysql"
47diff -bi $TMP_DHCP $TMP_MYSQL && echo "El fichero del servicio dhcp y la base de datos de ogAdmBD tienen la misma configuracion"
48
49rm -f $TMP_DHCP $TMP_MYSQL
50
Note: See TracBrowser for help on using the repository browser.