Sistema de Salvas Automaticas del Versat

Con el fin de mantener un mecanismo de organización y a la vez automatización de las salvas del Sistema Versat, y teniendo en cuenta que si en el mismo servidor coexisten varias versiones de SQL Server, las tareas de mantenimiento no se ejecutan correctamente (mi caso que tengo SQL Server 2012 y SQL Server 2014 en el mismo host), traemos una solución sumamente integral para realizar las salvas y llevar una constancia de la misma. El sistema consta de 2 archivos, un script batch y un archivo SQL que se encarga de realizar las salvas. El script realiza las siguientes funcionalidades:

  1. Crear carpeta organizativa en caso de que no exista en formato año\mes (2020\09)
  2. Ejecuta el SQL para ejecutar la salva basado en un nombre de Base de Datos y con un nombre fijo (BASE_DATOSañomesdia) por ejemplo (VERSAT20200928) y la mueve a la carpeta organizativa
  3. Envia un correo al admin del versat o economico informando si la salva se realizó o no con exito

Empecemos creando un archivo. El nombre es irrelevante a la verdad, pero por cuestiones de comodidad le llamaremos “versat.bat” (la extension si es obligatoria). El contenido del archivo será el siguiente:

El siguiente archivo será BackupTheDatabase.sql El nombre es el mismo que está en el script de batch asi que también puede ser otro, siempre y cuando recuerden cambiarlo allá. El contenido será este:

Siempre recordando editar el nombre de la BD…
Ahora la segunda parte es agregar una tarea programada de Windows. Para ello, vamos a Inicio→Programador de Tareas




El tipo de Tarea será ejecutar un programa (los demas están en desuso y no es que importen mucho)

Ahora ponemos tanto la ruta del script como la carpeta donde se va a ejecutar (asi evitamos las rutas largas en el script)

Y este es el resumen de la tarea. Revisamos todos los datos y le damos Finalizar

Ahora necesitamos hacer un par de austes, pues la tarea se configura para que solo se ejecute si el usuario ha iniciado sesion. O sea que si se va la corriente y viene, el servidor arranca, pero la tarea no se ejecutará. Para eso vamos a ir a las Tareas Activas como vemos en la imagen:

Y en la tarea del Versat pues damos doble Click para ir a la tarea. Una vez alli, le damos Click Derecho→ Propiedades y lo dejamos asi:

En este caso, el script va a almacenar la credencial (no es algo que me preocupe porque se lo que hace el script) y se va a ejecutar con los privilegios mas altos. Esto permite que la tarea no de problemas de permisos a la hora de ejecutarse. Una vez que damos en Aceptar, nos pedirá la contraseña del usuario. La ponemos y listo.

Ya terminamos en este lado del trabajo. Ahora nos queda permitir en el correo el envio desde el host del versat. Para ello, voy a explicar cómo lo hice (cada cual debe adaptarlo a sus necesidades y los permisos que tenga establecidos en su servidor).
Empecé creando un usuario en el Active Directory que se llama estrictamente igual que el host. En mi caso “virtualeco” para poder tener el correo [email protected]
Luego de esto, en mi servidor de correo postfix, se edita el fichero “/etc/postfix/rules/helo_access” y se agrega lo siguiente:

En ambos casos el separador para el OK es un tabulador
Y luego se escribe exactamente lo mismo en el archivo “/etc/postfix/rules/mynetworks”

Ambos son reglas que utilizo para permitir que se envien correos desde los servidores (Proxmox, PfSense, etc).
Ejecutas

y listo, ejecutamos el script a mano para verificar el funcionamiento. En caso de que de error el envio del correo, deberán revisar la configuracion de su correo para estos parametros. Ya eso es tarea para la casa. Y el resultado es el siguiente:


Si lo quieren editar tanto el cuerpo como el asunto, ya es tema de cada cual. A mi con que me avise si se hizo o no se hizo me basta.
Agradecimientos: Eric E. Sedeño Estrada Telegram: @ericsedeno Por el script inicial de las salvas automaticas y a Danny Paula @danny920825.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 4.6 / 5. Recuento de votos: 10

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Armando Felipe Fuentes Denis 82 artículos
Director de Infraestructura en Guajiritos S.R.L.

2 comentarios

  1. Firefox 81.0 Firefox 81.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0

    Es una buena alternativa a la Herramienta por defecto que existe desde antaño que es el Microsoft SQL Server Managment Studio de toda la vida. Con ese resolvi un Plan de Mantenimiento muy facilmente, como siempre se ha hecho.

  2. Google Chrome 84.0.4147.125 Google Chrome 84.0.4147.125 Android 8.0.0 Android 8.0.0
    Mozilla/5.0 (Linux; Android 8.0.0; FIG-LX2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Mobile Safari/537.36

    Jeje el nombre de la base de datos donde se pone… Demás esta decir que es un super aporte

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*