source: server/bin/setserveraddr @ 86d5b32

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 86d5b32 was c8fd992, checked in by ramon <ramongomez@…>, 13 years ago

Versión 1.0.3, #410: Nuevo comando setserveraddr, que automatiza el cambio de configuración por defecto del Server para otra interfaz de red.

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

  • Property mode set to 100755
File size: 2.0 KB
Line 
1#!/bin/bash
2# setserveraddr: modifica los ficheros de configuración para asignar los valores
3#       de la interfaz de red solicitada.
4# Nota: se enlazan los ficheros a los predefinidos detectados para la interfaz.
5# Uso:  setserveraddr iface
6# Autor: Ramon Gomez - Univ. Sevilla
7# Fecha: 2011-01-25
8
9
10# Comprobar parámetros.
11PROG="$(basename $0)"
12if [ $# -ne 1 ]; then
13        echo "$PROG: Incorrect operand. Format: $PROG device" >&2
14        exit 1
15fi
16if [ "$USER" != "root" ]; then
17        echo "$PROG: Need to be root." >&2
18        exit 1
19fi
20
21# Detectar la interfaz de red.
22DEVICES=$(ip -o link show up|awk -F: '$2!~/lo/ {print $2}')
23FOUND=0
24for dev in $DEVICES; do
25        [ "$dev" == "$1" ] && FOUND=1;
26done
27
28if [ $FOUND == 1 ]; then
29        # Comprobar si hay que modificar la configuración de DHCP.
30        CHANGE=0
31        for f in /etc/{dhcp,dhcp3}/dhcpd.conf; do
32                file="${f/./-$1.}"
33                if [ -f $file -a ! $f -ef $file ]; then
34                        ln -f $file $f
35                        CHANGE=1
36                fi
37        done
38        # Si ha cambiado la configuración, reiniciar DHCP.
39        if [ $CHANGE == 1 ]; then
40                for f in /etc/init.d/{isc-dhcp-server,dhcp3-server,dhcpd}; do
41                        [ -x $f ] && $f restart
42                done
43        else
44                echo "Don't change the DHCP configuration."
45        fi
46        # Comprobar si hay que modificar la configuración de OpenGnsys.
47        OPENGNSYS=/opt/opengnsys
48        CHANGE=0
49        for f in etc/{ogAdmServer,ogAdmRepo,ogAdmAgent}.cfg www/controlacceso.php client/etc/ogAdmClient.cfg; do
50                file="$OPENGNSYS/${f/./-$1.}"
51                if [ ! -f $file ]; then
52                        echo "$PROG: File $file does not exist." >&2
53                        exit 2
54                fi
55                cfg=$OPENGNSYS/$f
56                if [ ! $cfg -ef $file ]; then
57                        ln -f $file $cfg
58                        CHANGE=1
59                fi
60        done
61        # Si ha cambiado la configuración, reiniciar OpenGnSys y actualizar la BD.
62        if [ $CHANGE == 1 ]; then
63                /etc/init.d/opengnsys restart
64                source $OPENGNSYS/etc/ogAdmServer.cfg
65                mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \
66                         "UPDATE entornos SET ipserveradm='$ServidorAdm' WHERE identorno=1"
67                echo "Default server interface set to: $1 ($ServidorAdm)"
68        else
69                echo "Don't change the default interface: $1"
70        fi
71else
72        echo "$PROG: Network device not found. Format: $PROG device" >&2
73        exit 1
74fi
75
Note: See TracBrowser for help on using the repository browser.