Se hace una propuesta de servidor de respaldo en el caso más sencillo posible: tenemos un servidor de respaldo sincronizado de forma programada con el servidor principal, pero cuando el de respaldo ha de tomar el papel del principal se realiza de forma manual.
No se contemplan mecanismos de alta disponibilidad como una ip virtual que compartan ambos servidores, ni heartbeat.
Se realizará una sincronización semanal del equipo de respaldo con el principal utilizando el script sincronizacion_opengnsys.
Si queremos utilizar el servicio de opengnsys en la máquina de respaldo hemos de ejecutar el script iniciar_opengnsys, que prepara la configuración del dhcp, el cron para arrancar opengnsys si se cayera (según la configuración) y arranca los servicios opengnsys y dhcp.
Para apagar el servicio utilizaremos apagar_opengnsys, que además de apagarlo vacía la configuración del dhcp y programa en el cron la sincronización con el servidor principal.
La máquina de respaldo estará normalmente parada.
En el fin de semana se arrancará la máquina virtual, que lanzará un script que compruebe si el servicio está funcionando en el servidor principal y si está iniciado:
Se sincronizan:
El comando rsync al copiar los archivos crea primero un archivo temporal oculto y luego lo renombra para ver qué archivo está sincronizando tenemos dos posibilidades:
lsof|grep /opt/opengnsys
rsync 1516 root cwd DIR 252,1 4096 8388609 /opt/opengnsys
rsync 1518 root cwd DIR 252,1 4096 8388609 /opt/opengnsys
rsync 1518 root 3u REG 252,1 4734320640 8391702 /opt/opengnsys/images/.Win72012.img.JraISS
find /opt/opengnsys -name "."*
/opt/opengnsys/images/groups/I2.35/.iptables
/opt/opengnsys/images/.Win72012.img.JraISS
Se instala desde cero:
Se copian del servidor principal los archivos de configuramos que no se sincronizan:
Se configura iptables y tcpwrapper siguiendo la documentación del servidor principal.
__Configuramos opengnsys y dhcp para que no arranquen al
find rc?.d|grep S20opengnsys
sudo mv rc2.d/S20opengnsys rc2.d/.S20opengnsys
sudo mv rc3.d/S20opengnsys rc3.d/.S20opengnsys
sudo mv rc4.d/S20opengnsys rc4.d/.S20opengnsys
sudo mv rc5.d/S20opengnsys rc5.d/.S20opengnsys
find rc?.d|grep S20isc-dhcp-server
sudo mv rc2.d/S20isc-dhcp-server rc2.d/.S20isc-dhcp-server
sudo mv rc3.d/S20isc-dhcp-server rc3.d/.S20isc-dhcp-server
sudo mv rc4.d/S20isc-dhcp-server rc4.d/.S20isc-dhcp-server
sudo mv rc5.d/S20isc-dhcp-server rc5.d/.S20isc-dhcp-server
__La configuración del No contiene ningún equipo
La configuración del servidor principal se copia al directorio /etc/dhcpd/OGrespaldo
Al realizar el respaldo borra el contenido del archivo.
__En el Se /etc/default/opengnsys se pone RUN_CRONJOB"no" es decir que no arranca el servicio si está apagado.
Se modifica el cron.d/torrentcreator para que sólo cree ficheros .torrent y .sum cuando está arrancado el servicio opengnsys. (Aunque se ejecute durante la sincronización los ficheros de imágenes no se corrompen porque mientras se copian están ocultos).
#* * * * * root [ -x /opt/opengnsys/bin/torrent-creator ] && /opt/opengnsys/bin/torrent-creator
* * * * * root [ "$(pgrep ogAdmRepo | wc -w)" -gt "0" ] && /opt/opengnsys/bin/torrent-creator
__En
Comprueba si el servicio está iniciado en el servidor principal, y en ese caso pregunta si queremos arrancarlo en el de respaldo.
Dhcp:
Tendremos el archivo de configuración vacío y guardaremos el de respaldo en /etc/dhcp/OGrespaldo, creamos el directorio.
cd /etc/dhcp
sudo mkdir OGrespaldo
Opengnsys:
Para comprobar si está iniciado el servicio opengnsys en el servidor principal usaremos nmap. Lo instalamos.
sudo apt-get install nmap
Se utiliza el usuario "usuario".
__En el servidor de respaldo:
Se genera la clave pública en el servidor de respaldo del usuario "usuario" (por defecto rsa de 2048bits) :
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usuario/.ssh/id_rsa.
Your public key has been saved in /home/usuario/.ssh/id_rsa.pub.
The key fingerprint is:
f2:c1:80:40:85:f9:1f:9c:05:3d:e9:c9:2e:0e:0b:4a usuario@servidor-respaldo
The key's randomart image is:
+--[ RSA 2048]----+
| .o+. .o . |
| o. . = |
|
|. . . |
| |
+-----------------+
__En el servidor principal:
Se da permiso para entrar por ssh desde el servidor de respaldo.
vi /etc/hosts.allow
sshd: … IP_RESPALDO
Se copia la clave pública al servidor principal.
ssh-copy-id -i /home/usurio/.ssh/id_dsa.pub usuario@principal
usuario@principal's password:
Now try logging into the machine, with "ssh 'usuario@principal'", and check in:
~/.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Comprobamos que en el servidor principal está la clave pública
cat /home/usuario/.ssh/authorized_keys
ssh-dss AAA... jeE usuario@respaldo
Configurar el servicio ssh del servidor principal para que permita la conexión. En /etc/ssh/sshd_config (estaba por defecto).
PubkeyAuthentication yes
En /etc/rsyncd.conf añadimos un recurso compartido apuntando al directorio de opengnsys.
max connections = 0
log file = /var/log/rsync.log
timeout = 300
[ogimages]
comment = Carpeta de imagenes
path = /opt/opengnsys/images
read only = no
list = yes
uid = root
gid = root
auth users = opengnsys
secrets file = /etc/rsyncd.secrets
[respaldo]
comment = Respaldo de Opengnsys
path = /opt/opengnsys
read only = yes
list = yes
uid = root
gid = root
auth users = usuario
secrets file = /etc/rsyncd.secrets
hosts allow = xxx.xxx.xxx.xxx # Ip servidor de respaldo
/etc/rsyncd.secrets
Opengnsys:CLAVEOG
usuario:CLAVE -> la clave no es la misma que la del ssh
Nota: si con el script de Opengnsys setsmbpass se cambiara la clave de samba para el usuario opengnsys, también se reescribirá este fichero y será necesario volver a incluir la línea anterior.
Damos permiso de lectura y escritura sólo al root (ya lo tenía):
chmod 600 rsyncd.secrets
Configuramos el xinetd → está bien configurado para que escuche rsync.
Configuramos tcpwrapper para permita conectarse el servidor de respaldo al rsync (ya estaba incluido), en /etc/hosts.allow
rsync: IPRESPALDO*
*Nota: los clientes de opengnsys también utilizan rsync, por lo que sus ip's deben estar incluidas en esta línea.
En el servidor respaldo creamos el fichero con el contenido de la clave de rsync para que lo lea el script de sincronización, /home/usuario/.ssh/passrsync:
CLAVE
Por seguridad si el servidor principal no tiene arrancado los servicios de opengnsys no se puede sincronizarse, entendiendo que en este caso puede haber un error que no queremos replicar en la máquina de respaldo.
Permite configurar dentro del script los parámetros: IPMASTER, IPRESPALDO, USUARIORESPALDO y CAMBIOIP. Este último parámetro nos permite decidir si el servidor de respaldo utilizará la misma IP que el principal (CAMBIOIPno) o tendrá una ip diferente (CAMBIOIPsi)
CAMBIOIPsi. Distinta ip en el servidor principal y en el de respaldo.
Me permite tener los dos servidores iniciados a la vez y con la configuración del dhcp repartir la carga entre ambos.
Error conocido: Si se tiene que los clientes que inicien por grub y que además de los sistemas operativos se tenga una línea que permita arrancar OpenGnsys dará problemas. El fichero de configuración del grub en la línea de OpenGnsys tiene los parámetros que se le pasan al kernel, entre ellos la configuración de la ip del servidor de Opengnsys, como la configuración es local cuando arranquemos estos equipos seguirán buscando el servidor principal y darán error. Simplemente habría que cambiar el modo de arranque a OpenGnsys. También se puede volver a instalar el grub tomando la nueva configuración.
CAMBIOIPno. Igual ip en el servidor principal y en el de respaldo.
Cuando se pone en marcha el servidor de respaldo hay que cambiarle la ip por la del servidor principal y deshabilitar la tarjeta del red de este último. Los script de iniciar y apagar OpenGnsys dan un mensaje de aviso para que se realice el cambio.
El script realiza.
Nota: el cambio de la ip del servidor se realiza en todos los ficheros de configuración si la variable CAMBIOIP tiene valor "si".
/home/usuario/bin/sincronizacion_opengnsys
#!/bin/bash
#/**
# sincronizacion_opengnsys
#@brief sincroniza con servidor principal el directorio /opt/opengnsys, la base de datos ogAdmBD, el dhcp y la configuración PXE.
#@param no
#@return
#@exception 1 El usuario no es root
#@exception 2 No hay acceso a los ficheros para obtener las claves
#@exception 3 Servidor principal esta apagado
#@version 1.1
#@date 2014/09/24
#@version 1.2 Se permite configurar si se realiza cambio de ip.
# Si no se cambia la ip al sustituir al servidor principal por el de respaldo,
# se baja al t. de red del principal y el servidor de respaldo se configura con esta misma ip.
#@date 2015/11/09
#*/ ##
# CONFIGURACION MASTER Y CAMBIOIP="NO" # [SI|NO]
IPMASTER="IP_MASTER"
IPRESPALDO="IP_RESPALDO"
USERRESPALDO="USUARIO"
############### OPENGNSYS="/opt/opengnsys"
RSYNCCLAVE="/home/$USERRESPALDO/.ssh/passrsync"
FILESAL="/var/log/respaldo_opengnsys.log"
FILELOG="/var/log/messages"
PROG="$(basename $0)"
# Para el cambio de IP escapar los . de las ips
IPMASTER2=$(echo $IPMASTER |sed s/'\.'/'\\\.'/g)
IPRESPALDO2=$(echo $IPRESPALDO |sed s/'\.'/'\\\.'/g)
function apaga_servicios {
echo " * Apagamos los servicios" | tee -a $FILESAL
[ $(pgrep ogAdmRepo |wc -l) == "0" ] || service opengnsys stop
[ $(pgrep dhcpd |wc -l) == "0" ] || service isc-dhcp-server stop
echo " * configuramos para que no se arranca los servicios de opengnsys" | tee -a $FILESAL
sed -i s/RUN_CRONJOB.*$/RUN_CRONJOB=\"no\"/g /etc/default/opengnsys
echo " * La configuracion del dhcp la dejamos vacia. "| tee -a $FILESAL
echo "" > /etc/dhcp/dhcpd.conf
}
# DHCP
function sincronizacion_dhcp {
local DIRRESPALDO ERROR
DIRRESPALDO="/etc/dhcp/respaldoOG"
echo " * Sincronizamos configuracion dhcpd" | tee -a $FILESAL
[ -r $DIRRESPALDO/dhcpd.conf ] && mv -f $DIRRESPALDO/dhcpd.conf $DIRRESPALDO/dhcpd.conf.ant
rsync -aHAX -e "ssh -i /home/$USERRESPALDO/.ssh/id_rsa" $USERRESPALDO@$IPMASTER:/etc/dhcp/dhcpd.conf $DIRRESPALDO 2>&1 | tee -a $FILESAL
ERROR=${PIPESTATUS[0]}
if [ $CAMBIOIP == "SI" ]; then
sed -i s/"$IPMASTER2;"/"$IPRESPALDO2;"/g $DIRRESPALDO/dhcpd.conf
fi
return $ERROR
}
# Opengnsys
function sincronizacion_og {
local ERROR TMPDIR IMGDIR
TMPDIR="/tmp/ogsum"
IMGDIR="$OPENGNSYS/images"
echo " * Sincronizamos opengnsys" | tee -a $FILESAL
# Comprobamos si los fichero img.ant del principal que se corresponden con los .img de respaldo
# Creasmos directorio temporal
[ -x $TMPDIR ] && rm -rf $TMPDIR
mkdir $TMPDIR
# Nos traemos los ficheros .sum del backup de las imágenes del servidor principal
rsync -aHAX --delete --password-file=$RSYNCCLAVE $USERRESPALDO@$IPMASTER::respaldo/images/*.img.sum.ant $TMPDIR 2>&1 | tee -a $FILESAL
# Comparamos el .sum del backup del principal con la imagen del de respaldo
for IMGSUM in $(ls $TMPDIR); do
if [ -r "$IMGDIR/${IMGSUM%.ant}" ]; then
# Si los ficheros son iguales renombramos la imagen con .ant
if diff "$TMPDIR/$IMGSUM" "$IMGDIR/${IMGSUM%.ant}" &>/dev/null ; then
echo "iguales"
IMG=${IMGSUM%.sum.ant}
rm -f "$IMGDIR/$IMG"{,.sum,.full.sum,.torrent}.ant
mv "$IMGDIR/${IMG}" "$IMGDIR/${IMG}.ant"
for EXT in sum full.sum torrent; do
mv "$IMGDIR/$IMG.$EXT" "$IMGDIR/$IMG.$EXT.ant"
done
fi
fi
done
rsync -aHAX --delete --password-file=$RSYNCCLAVE $USERRESPALDO@$IPMASTER::respaldo/ $OPENGNSYS 2>&1 | tee -a $FILESAL
ERROR=${PIPESTATUS[0]}
if [ $CAMBIOIP == "SI" ]; then
for FILE in $OPENGNSYS/etc/* $OPENGNSYS/client/etc/ogAdmClient* $OPENGNSYS/www/controlacceso.php; do
sed -i s/"$IPMASTER2"/"$IPRESPALDO2"/g $FILE
done
fi
#echo " * Configuramos multicast: bond0 -> eth0"
#sed -i 's/bond0/eth0/g' $OPENGNSYS/bin/sendFileMcast
return $ERROR
}
# TFTP
function sincronizacion_tftp {
local ERROR
echo " * Sincronizamos tftp" | tee -a $FILESAL
rsync -aHAX --delete -e "ssh -i /home/$USERRESPALDO/.ssh/id_rsa" $USERRESPALDO@$IPMASTER:/var/lib/tftpboot/ /var/lib/tftpboot 2>&1 | tee -a $FILESAL
ERROR=${PIPESTATUS[0]}
if [ $CAMBIOIP == "SI" ]; then
sed -i -e s/"$IPMASTER2:"/"$IPRESPALDO2:"/g -e s/"$IPMASTER2 "/"$IPRESPALDO2 "/g /var/lib/tftpboot/menu.lst/* 2>/dev/null
fi
return $ERROR
}
# MYSQL
function sincronizacion_mysql {
local MYSQLFILE USUARIO PASSWORD CATALOG ERROR
echo " * Actualizamos la base de datos de opengnsys" | tee -a $FILESAL
source $OPENGNSYS/etc/ogAdmServer.cfg
MYSQLFILE="$OPENGNSYS/doc/backup_ogAdmBD.sql"
[ -f $MYSQLFILE ] && mv $MYSQLFILE $MYSQLFILE.ant
# Volcado de BD de servidor principal y cambio ip servidor.
echo " * Exportamos informacion mysql de servidor principal" | tee -a $FILESAL
ssh -i /home/$USERRESPALDO/.ssh/id_rsa $USERRESPALDO@$IPMASTER "mysqldump --opt -u $USUARIO -p$PASSWORD $CATALOG" > $MYSQLFILE
chmod 600 $MYSQLFILE
if [ $CAMBIOIP == "SI" ]; then
sed -i -e s/"$IPMASTER2"/"$IPRESPALDO2"/g -e s/"\/$IPMASTER2\/"/"\/$IPRESPALDO2\/"/g $MYSQLFILE
# para evitar problemas con los \.
eval $(echo sed -i -e s/"=$IPMASTER2\\"/"=$IPRESPALDO2\\"/g $MYSQLFILE)
fi
# Si el servicio esta apagado lo arranco
pgrep mysql &> /dev/null || service mysql start
echo " * Importamos informacion mysql." | tee -a $FILESAL
mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" < $MYSQLFILE 2>&1 | tee -a $FILESAL
ERROR=${PIPESTATUS[0]}
return $ERROR
}
TIME1=$SECONDS
if [ "$(whoami)" != "root" ]; then
date +"%b %d %T $PROG: Error: solo ejecutable por root" | tee -a $FILESAL
exit 2
fi
# Comprobamos acceso a ficheros de donde extraemos las claves.
if ! [ -r $OPENGNSYS/etc/ogAdmServer.cfg -a -r $RSYNCCLAVE ]; then
echo "$PROG: ERROR: Sin acceso a la configuración de OpenGnSys." | tee -a $FILESAL
exit 3
fi
# Comprobamos que el servidor principal esta funcionando bien: si tiene el puerto de ogAdmRepo abierto
# Si esta bien hacemos el respaldo; si no nos salimos.
if ! nmap -p 2002 $IPMASTER|grep "2002/tcp open" > /dev/null; then
date +"%b %d %T $PROG: ERROR el servidor principal no tiene opengnsys arrancado. No realizamos la sincronizacion." | tee -a $FILESAL $FILELOG
exit 4
fi
date +"%b %d %T $PROG: Comenzamos respaldo de opengnsys desde servidor principal." | tee -a $FILESAL $FILELOG
echo " * Configuración: CAMBIOIP: $CAMBIOIP, IPMASTER: $IPMASTER, IPRESPALDO: $IPRESPALDO y USERRESPALDO: $USERRESPALDO"
CORRECTO=""
sincronizacion_og && CORRECTO="og" || date +"%b %d %T $PROG: Error en sincronizacion_opengnsys" |tee -a $FILESAL
sincronizacion_dhcp && CORRECTO="$CORRECTO dhcp" || date +"%b %d %T $PROG: Error en sincronizacion_dhcp" |tee -a $FILESAL
sincronizacion_tftp && CORRECTO="$CORRECTO tftp" || date +"%b %d %T $PROG: Error en sincronizacion_tftp" |tee -a $FILESAL
sincronizacion_mysql && CORRECTO="$CORRECTO mysql" || date +"%b %d %T $PROG: Error en sincronizacion_mysql" |tee -a $FILESAL
TIME=$[SECONDS-TIME1]
if [ $CORRECTO == "og dhcp tftp mysql" ]; then
date +"%b %d %T opengnsys $(basename $0): Respaldo de opengnsys desde servidor principal finalizado." | tee -a $FILESAL
date +"%b %d %T opengnsys $(basename $0): Duracion de la operacion $[TIME/60]m $[TIME%60]s." | tee -a $FILESAL
else
date +"%b %d %T opengnsys $(basename $0): Respaldo de opengnsys desde servidor principal no realizado correctamente. Ha ocurrido un error." | tee -a $FILESAL
date +"%b %d %T opengnsys $(basename $0): Sí ha ido bien el respaldo de $CORRECTO." | tee -a $FILESAL
fi
# Despues del respaldo apagamos la maquina
poweroff
Prepara el equipo antes de iniciar el servicio de opengngsys en el servidor de respaldo y lo inicia.
/home/usuario/bin/iniciar_opengnsys
#!/bin/bash
#/**
# iniciar_opengnsys
#@brief Prepara el equipo antes de iniciar el servicio de opengngsys en el servidor de respaldo y lo inicia.
# * Crea en el cron que se comprueben los servicios de opengnsys.
# * Copia configuración dhcp
# * Arranca los servicios opengnsys y dhcp
# * Borra en el cron la sincronizacion con el servidor principal
#@param no
#@exception 1 el usuario no es root
#@exception 2 Servidor principal encendido
#@exception 3 IPs distinta a la del servidor principal
#@return nada
#@version 1.0
#@date 2014/09/25
#*/ ##
# CAMBIOIP y IPMASTER Tomo valores del script de sincronizacion
SCRIPT="./sincronizacion_opengnsys"
if [ -r "$SCRIPT" ]; then
eval $(grep CAMBIOIP "$SCRIPT")
eval $(grep -m 1 IPMASTER "$SCRIPT")
else
echo "Se necesita acceso de lectura al script de sincronizacion"
exit 4
fi
FILESAL="/var/log/respaldo_opengnsys.log"
FILELOG="/var/log/messages"
FILECRON="/etc/cron.d/opengnsys_sincronizacion"
RUN_CRONJOB="no"
PROG=$(basename $0)
# Comprobamos que lo ejecute el usuario root.
if [ "$(whoami)" != "root" ]; then
echo "$PROG: Error: solo ejecutable por root" | tee -a $FILESAL
exit 1
fi
if [ "$CAMBIOIP" == "NO" ]; then
echo -e "Según la configuración del script de sincronización el servidor de respaldo \n debe que tener la IP del servidor principal."
# Comprobamos que la ip del servidor de respaldo es la mista que el servidor principal
IP=$(ip -4 -o address show up dev eth0|awk '{print $4}')
if [ "${IP%/*}" == "$IPMASTER" ]; then
echo -e " * Antes de iniciar OpenGnys hay que deshabilitar las tarjetas de red del servidor principal \n ¿ya se ha realizado?."
read INICIAR
[ "${INICIAR^^}" != "SI" ] && exit 3
else
echo -e " * El servidor de respaldo tiene una ip diferente al principal, \n antes de iniciar OpenGnsys hay que dehabilitar la tarjeta de red\n del servidor principal y configurar la del de respaldo."
echo " Ejemplo comando-> principal: sudo ifdown eth0
respaldo: sudo ifconfig eth0 ${IPMASTER} netmask 255.255.252.0"
exit 3
fi
else
# Comprobamos que el servidor principal esta funcionando bien: si tiene el puerto de ogAdmRepo abiertos
if nmap -p 2002 ${IPMASTER%/*}|grep "2002/tcp open" > /dev/null; then
echo -n "El servidor principal esta arrancado, ¿quiere iniciar opengnsys?: [si/No] "
read INICIAR
[ "${INICIAR^^}" != "SI" ] && exit 2
fi
fi
echo "Segun la configuracion incluimos en el cromtab que compruebe que esten los servicios arrancados." | tee -a $FILESAL
[ "$RUN_CRONJOB" == "yes" ] && sed -i s/RUN_CRONJOB.*$/RUN_CRONJOB=\"yes\"/g /etc/default/opengnsys
echo "Actualizamos configuración servicio dhcp." | tee -a $FILESAL
cp -f /etc/dhcp/respaldoOG/dhcpd.conf /etc/dhcp/dhcpd.conf
echo "Arrancamos los servicios dhcp y opengnsys" | tee -a $FILESAL $FILELOG
[ $(pgrep dhcpd |wc -l) == "0" ] && service isc-dhcp-server start || service isc-dhcp-server restart
[ $(pgrep opengnsys |wc -l) == "0" ] && service opengnsys start || service opengnsys restart
echo "Deshabilitamos la sincronización con el servidor principal"
[ -r $FILECRON ] && rm -rf $FILECRON
/home/usuario/bin/apagar_opengnsys
#!/bin/bash
#/**
# apagar_opengnsys
#@brief Apaga los servicios de opengnsys, vacia la configuración y programa la sincronización.
# * Apaga el servicio de opengnsys y el dhcp.
# * Configura que no se arranquen los servicios de opengnsys si están caidos.
# * Vacía la configuración del dhcp.
# * Programa la sincronización semanal con el servidor principal.
#@param no
#@exception 1 el usuario no es root
#@exception 2 no hay acceso al script de sincornización para obtener la variable CAMBIOIP
#@return nada
#@version 1.0
#@date 2014/09/25
#*/ ##
# CAMBIOIP y IPMASTER Tomo valores del script de sincronizacion
SCRIPT="./sincronizacion_opengnsys"
if [ -r "$SCRIPT" ]; then
eval $(grep CAMBIOIP "$SCRIPT")
eval $(grep -m 1 IPMASTER "$SCRIPT")
else
echo "Se necesita acceso de lectura al script de sincronizacion"
exit 4
fi
FILESAL="/var/log/respaldo_opengnsys.log"
FILELOG="/var/log/messages"
FILECRON="/etc/cron.d/opengnsys_sincronizacion"
PROG=$(basename $0)
# Comprobamos que lo ejecute el usuario root.
if [ "$USER" != "root" ]; then
echo "$PROG: Error: solo ejecutable por root" >&2
exit 1
fi
date +"%b %d %T opengnsys $(basename $0): Apagamos opengnsys y programamos el respaldo desde el servidor principal." | tee -a $FILESAL $FILELOG
echo " * Apagamos los servicios" | tee -a $FILESAL
[ $(pgrep ogAdmRepo |wc -l) == "0" ] || service opengnsys stop
[ $(pgrep dhcpd |wc -l) == "0" ] || service isc-dhcp-server stop
echo " * Deshabilitamos el arranque de los servicios de opengnsys desde el cron." | tee -a $FILESAL
sed -i s/RUN_CRONJOB.*$/RUN_CRONJOB=\"no\"/g /etc/default/opengnsys
echo " * La configuracion del dhcp la dejamos vacia. "| tee -a $FILESAL
echo ""> /etc/dhcp/dhcpd.conf
echo " * Programamos la sincronización semanal con el servidor principal" | tee -a $FILESAL
echo "0 2 * * 6 root [ -x /home/usuario/bin/sincronizacion_opengnsys ] && /home/usuario/bin/sincronizacion_opengnsys" > $FILECRON
if [ "$CAMBIOIP" == "no" ]; then
IP=$(ip -4 -o address show up dev eth0|awk '{print $4}')
if [ "${IP%/*}" == "$IPMASTER" ]; then
echo "IMPORTANTE: la máquina de respaldo tiene la misma ip que el servidor principal, cambiar ip o reiniciar la máquina"
fi
fi