viernes, 29 de abril de 2016

Automatización de Nuevo Huso Horario Venezuela en Fortigate

Bueno, en vista de el nuevo cambio de Huso Horario en Venezuela, ahora con -4:00hs con respecto a UTC, se deberían hacer los cambios del nuevo Huso horario a las 02:30hs VET  (2:30am), con los Linux no hay problema, menos con Debian que ya actualizó tzdata, pero el problema lo tenemos con los Fortigate, por lo que se me ocurrió usar expect en un script para que desde mi máquina con Debian, a las 2:30 am del día 01 de Mayo 2016 cambiara el Huso horario de los equipos Fortigate. Siempre digo que las máquinas deben trabajar para uno, y no uno para las máquinas :D


Acá les dejo el script que hice para automatizar el cambio.


#############################################
### Script para Cambiar Huso Horario a -4:00 UTC
### Autor:  Raul Odria
### Date: 04/29/2016
### Dependencias: expect
### Debian:  aptitude install expect
###
#############################################

#!/usr/bin/expect -f

# Datos del Fortigate
set FortiIP "192.168.0.1"
set ADMIN_USER "TuUserName"
set PASSWORD "Tu-Cl4ve-$uper-Ultra-S3creta-WTF!!!!"

## SSH: agregar -p PUERTO en caso de no usar el pueto estandar ssh, por ejemplo:
## spawn ssh -p 8022 $ADMIN_USER@FortiIP
##
spawn ssh $ADMIN_USER@$FortiIP

expect {
        "password:" {
                send "$PASSWORD\r"
        }
        "(yes/no)? " {
                send "yes\r"
                expect "password:" {
                        send "$PASSWORD\r"
                }
        }
}
expect "$ "
send "config system global\r"
expect {
        "$ " {
               send "set timezone 15\r"
        }
}
expect {
        "$ " {
               send "end\r"
        }
}
expect "$ "
send "exit\r"

############## FIN SCRIPT ###########################

Luego se coloca en un cron para que se ejecute a las 02:30hs del 05/01/2016  (1° de Mayo 2016)

Espero que les sirva.

NOTA: el timezone 15 está relacionado a La Paz -4:00 UTC, pueden verificar en su fortinet que el 15 pertenece a -4:00, y para los que quieran usarlo en otros paises, verificar en su fortiOS el codigo equivalente al TZ que quieren configurar.
Otro punto es que si usas el usuarios admin, debes cambiar los expect $ por expect #

No hay comentarios.: