Backups automáticos y envío por e-mail

Documentos de interés general, disponibles por internet, pero recopilados aquí para uso y disfrute de todos.

Backups automáticos y envío por e-mail

Notapor overdrv » Mar Nov 10, 2009 9:26 am

Hacía tiempo que quería poner este pequeño script aquí, pero ya se sabe: el exceso de trabajo resta el tiempo para estas cositas.

Primero que nada, el código general:

Código: Seleccionar todo
:log info "#################### Iniciando Backup"
:global backupfile ([/system identity get name] . "-" . [/system clock get time])
/system backup save name=$backupfile
:log info "#################### Pausa de 10 segundos"
:delay 10s
:log info "#################### Enviando Backup por mail a backups@wificanarias.com"
/tool e-mail send to="[MI@EMAIL.COM]" subject=([/system identity get name] . " Backup " . [/system clock get time]) from="MI@EMAIL.COM" file=$backupfile
:log info "#################### Pausa 60 seg antes de borrar el backup"
:delay 60s
:log info "#################### Borrando el archivo de /File"
/file remove $backupfile
:log info "#################### Backup finalizado"


Obviamente, esto funciona porque previamente se ha configurado el correo (/tool e-mail), donde simplemente hay que indicar el servidor de correo saliente.

Explicación del código:

1º Añadimos una entrada en el LOG, a fin de dejar un registro de las horas de backup y saber si este se ha realizado correctamente. Esto se hace antes de cada comando que ejecute, a fin de dejar un registro completo.
Código: Seleccionar todo
:log info "#################### Iniciando Backup"


2º Definimos el nombre del archivo de backup. Para ello, obtenemos el nombre del sistema y su hora y lo almacenamos en la variable 'backupfile', lo cual es bastante cómodo para saber de dónde sale el backup. De cualquier manera, siempre se puede usar un nombre estático.
Código: Seleccionar todo
:global backupfile ([/system identity get name] . "-" . [/system clock get time])


3º Ejecutamos el backup y asignamos el nombre de la variable anterior
Código: Seleccionar todo
/system backup save name=$backupfile


4º Hacemos una pausa. Esto es importante, ya que el backup tarda cierto tiempo en completarse. Si no hiciéramos la pausa, el script continuaría e intentaría enviar un archivo inacabado y sobre el que no puede actuar puesto que está abierto por otro proceso, por lo que obtendríamos un bonito error en el LOG.
Código: Seleccionar todo
:delay 10s


5º Enviamos el correo usando datos obtenidos de las variables de sistema (usando get). Los puntos "." se usan para unir cadenas de texto.
Código: Seleccionar todo
/tool e-mail send to="[MI@EMAIL.COM]" subject=([/system identity get name] . " Backup " . [/system clock get time]) from="MI@EMAIL.COM" file=$backupfile


6º Ahora volvemos a hacer otra pausa, con tiempo suficiente para que el correo se envíe.
Código: Seleccionar todo
:delay 60s


7º Borramos el backup del sistema de archivos de nuestro Mikrotik
Código: Seleccionar todo
/file remove $backupfile


Consideraciones:

· Los tiempos de retardo dependerán del tamaño del backup. En mi caso, estos tiempos son válidos para un backup de 900KB, pero a medida que crezcan las configuraciones, usuarios, etc, ese archivo también crecerá, por lo que conviene vigilar esos tiempos.
· Precisamente para depurar es por lo que es conveniente introducir tantas líneas de LOG, para que en caso de error, saber exactamente dónde se ha producido el fallo y arreglarlo facilmente. Las celdillas #### las pongo simplemente para identificarlas fácilmente de un vistazo al ver un log grande.
· Este escript está probado en versiones 4.1 y 4.2 de ROS. Desconozco si funciona en anteriores versiones, aunque probablemente si. En mi caso, con versiones anteriores y correos de GMAIL no funcionaba puesto que ROS no soportaba TLS en cuentas de correo.

Espero vuestros comentarios!
Víctor De La Nuez
Consultor de telecomunicaciones
http://www.wificanarias.com
Tlf.: 922 32 64 31
No atiendo consultas privadas. Plantea tu duda en el foro.
Avatar de Usuario
overdrv
Site Admin
 
Mensajes: 131
Registrado: Jue May 14, 2009 11:27 am
Ubicación: Los Realejos / Santa Cruz De Tenerife

Re: Backups automáticos y envío por e-mail

Notapor overdrv » Mar Nov 10, 2009 9:32 am

IMPORTANTE:

Olvidé por completo la parte de automatización!!!!

Esto también es sencillo: simplemente hay que añadir el script al Schedule e indicar la hora de inicio y el intervalo de repetición.

Código: Seleccionar todo
/system scheduler add name=nombre_script start-time=hora_de_inicio interval=cada_cuanto_tiempo_se_repite


Muy, muy sencillo :-)
Víctor De La Nuez
Consultor de telecomunicaciones
http://www.wificanarias.com
Tlf.: 922 32 64 31
No atiendo consultas privadas. Plantea tu duda en el foro.
Avatar de Usuario
overdrv
Site Admin
 
Mensajes: 131
Registrado: Jue May 14, 2009 11:27 am
Ubicación: Los Realejos / Santa Cruz De Tenerife

Re: Backups automáticos y envío por e-mail

Notapor juanmi » Jue Nov 19, 2009 11:29 am

Muy buena compañero!!! Esta hay que probarla.
juanmi
 
Mensajes: 56
Registrado: Jue May 14, 2009 12:14 pm
Ubicación: La red

Re: Backups automáticos y envío por e-mail

Notapor cepaveca » Lun Dic 28, 2009 11:21 pm

Hola.

El aporte está excelente, solo que hay que encontrar algún servidor SMTP sin autenticación... y no lo encuentro
si uds saben de alguno, les agradezco.


Ricardo de Argentina :geek:
cepaveca
 
Mensajes: 15
Registrado: Dom Nov 29, 2009 4:06 pm

Re: Backups automáticos y envío por e-mail

Notapor guillote » Mar Dic 29, 2009 12:21 pm

Ricardo, gracias por los agradecimientos en el otro post, en el foro estamos para eso, no? .. con respecto a los backups armate tu propio server de mail! lo importante es que el backup se envie fuera del routeros y lo puedas recuperar de otra pc.
Hay muchos programas gratis de ese tipo, necesitas armarte un servidor de correo en tu lan, hay uno que se llama mailenable que es para windows o bien con un alguna pc viejita y linux.
Saludos y Feliz 2010!!
No hay que confundir nunca el conocimiento con la sabiduría. El primero nos sirve para ganarnos la vida; la sabiduría nos ayuda a vivir. (Sorcha Carey)
guillote
 
Mensajes: 69
Registrado: Vie Nov 06, 2009 3:16 pm
Ubicación: Corrientes - Argentina

Re: Backups automáticos y envío por e-mail

Notapor olujan » Lun Feb 01, 2010 4:06 pm

Muy bueno, me funciono correctamente.
olujan
 
Mensajes: 2
Registrado: Jue Nov 19, 2009 3:28 pm

Re: Backups automáticos y envío por e-mail

Notapor redcamaleon » Lun Mar 29, 2010 8:24 pm

Hola amigo... muy buena la informacion lo acabo de probar en uno de los radios de la empresa y quedo a probar la ultima parte del script para que se haga cada 24 horas :) pero es un buen dato :) gracias por el apoyo
Consulta hay alguna forma de hacer esos backup de los mikrotik pero no vaya a un mail sino a un server backup de mikrotik o a un servidor cualquiera.
Saludos y gracias por el apoyo
Atte
Pedro Alejandro
redcamaleon
 
Mensajes: 4
Registrado: Mar Mar 09, 2010 1:44 pm

Re: Backups automáticos y envío por e-mail

Notapor overdrv » Mar Mar 30, 2010 9:52 pm

Hola redcamaleon,

Me pillas un poco en frío en este momento, sólo se me ocurre una posible solución: mikrotik puede actuar como servidor FTP, siendo el directorio de almacenamiento /file: puedes crear el backup ahí, con un nombre conocido, y "pedirlo" desde fuera.

Ahora el problema es a la inversa: el backup está almacenado en el mikrotik pero debes obtenerlo desde fuera 'a mano'.

Otra cosa que puedes probar es esta: http://wiki.mikrotik.com/wiki/Automatic_Backup_with_Centralized_Storage_-_By_Ashish_Patel
Cuando la pruebes nos cuentas: no conocía la utilidad de fetch con el modificador mode=ftp
Víctor De La Nuez
Consultor de telecomunicaciones
http://www.wificanarias.com
Tlf.: 922 32 64 31
No atiendo consultas privadas. Plantea tu duda en el foro.
Avatar de Usuario
overdrv
Site Admin
 
Mensajes: 131
Registrado: Jue May 14, 2009 11:27 am
Ubicación: Los Realejos / Santa Cruz De Tenerife

Re: Backups automáticos y envío por e-mail

Notapor redcamaleon » Mié Mar 31, 2010 5:52 am

Hola amigo gracias por el dato... voy a probarlo a ver que tal me va... vieras q probe el script para los backup de cada radio... cuando los inicie por primera vez super!!! de ahi indicaban un ultimo parte del script para que se ejecute durante o en determinado tiempo.. sea automatico, eso no me quedo claro o algo hice mal... que no esta automatico los backups :(
Otra cosa amigo.. estuve leyendo y probando lo de los LOG para q lleguen a un mail en caso de algun problema nos avise, mediante un correo, pero segun el script q vi en la web-internet no me funciono.. si tienes algun dato te agradecere nos ayudes...
saludos y un abrazo a la distancia
redcamaleon
 
Mensajes: 4
Registrado: Mar Mar 09, 2010 1:44 pm

Re: Backups automáticos y envío por e-mail

Notapor overdrv » Dom Abr 04, 2010 11:08 am

Con los logs uso un servidor de Syslog, creo que es más práctico.

De todas formas, apenas he empezado con el scripting, con lo que se hacer muy pocas cosas aún y las que tengo, son demasiado 'delicadas' como para publicarlas, puesto que sólo resuelven problemas concretos míos.

Me apunto tu pregunta acerca del envío de logs por mail para ver qué puedo hacer.


Saludos!
Víctor De La Nuez
Consultor de telecomunicaciones
http://www.wificanarias.com
Tlf.: 922 32 64 31
No atiendo consultas privadas. Plantea tu duda en el foro.
Avatar de Usuario
overdrv
Site Admin
 
Mensajes: 131
Registrado: Jue May 14, 2009 11:27 am
Ubicación: Los Realejos / Santa Cruz De Tenerife


Volver a Documentación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado