Skip to content

Latest commit

 

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyPI Version Ask DeepWiki UV Tool Python Package Python Package

MSSQL Backups

Herramienta de consola para administrar configuraciones, crear backups, restaurar bases de datos de SQL Server y limpiar logs para liberar espacio.

La aplicación guarda la configuración en SQLite, ejecuta sqlcmd para hablar con SQL Server y puede trabajar con rutas locales o con backups dentro de contenedores Docker.

Requisitos

  • uv
  • sqlcmd disponible en el sistema

Instalación de la herramienta

  1. Instala uv:
winget install --id=astral-sh.uv -e
  1. Instala la herramienta:
uv tool install mssql-backups
  1. Verifica que esté disponible:
mssql-backups --help

Configurar sqlcmd

La herramienta necesita sqlcmd para ejecutar consultas y realizar backups/restauraciones.

Windows

Instálalo con:

winget install sqlcmd

Linux

En Linux debes instalar los paquetes oficiales de Microsoft para sqlcmd.

Recomendación general:

  1. Agrega el repositorio oficial de Microsoft para tu distribución.
  2. Instala mssql-tools18 junto con unixODBC.
  3. Añade el binario al PATH de tu shell.

Ejemplo común en Bash:

echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc

Si usas Ubuntu o Debian, sigue la guía oficial de Microsoft para tu versión e instala también unixodbc-dev.

Comandos principales

Los comandos principales de la herramienta son:

Comando Descripción
config Administrar configuraciones guardadas en cache
restore Restaurar bases de datos usando backups guardados
cache Crear o limpiar la caché local
db Probar conexiones, listar bases de datos y reducir logs
bak Crear backups de las bases de datos configuradas

Para obtener ayuda de cualquier comando o subcomando, usa --help. Muchos comandos también son interactivos: si omites un parámetro, la herramienta te lo pedirá en pantalla.

mssql-backups --help
mssql-backups config --help
mssql-backups restore --help
mssql-backups cache --help
mssql-backups db --help
mssql-backups bak --help

Cómo configurar la aplicación

La configuración se guarda en SQLite dentro de ~/.mssql-bakups/config.db. Esto permite persistir las configuraciones entre sesiones para evitar tener que configurar todo de nuevo.

1. Crear una conexión

Usa config conn add para guardar la conexión a SQL Server.

mssql-backups config conn add

Ese comando te pedirá de forma interactiva:

  • nombre de la conexión
  • host
  • puerto
  • usuario
  • contraseña

También puedes consultar o eliminar conexiones con:

mssql-backups config conn ls
mssql-backups config conn rm

2. Crear una configuración de backup

Usa config bak add para guardar la ruta de backups y la ruta de datos.

mssql-backups config bak add

Ese comando te pedirá:

  • nombre de la configuración
  • descripción
  • backup_dir
  • data_dir
  • si usa contenedor Docker
  • nombre del contenedor, si corresponde

Si el backup está dentro de un contenedor, las rutas deben ser rutas válidas dentro del contenedor.

También puedes listar o eliminar configuraciones con:

mssql-backups config bak ls
mssql-backups config bak rm

3. Asociar bases de datos a una configuración

Usa config db add para registrar una o varias bases de datos dentro de una configuración de backup.

mssql-backups config db add

Puedes ingresar varias bases separadas por comas.

También puedes listar o eliminar asociaciones con:

mssql-backups config db ls
mssql-backups config db rm

Flujo de uso recomendado

  1. Inicializa la caché con cache init.
  2. Guarda la conexión con config conn add.
  3. Guarda la configuración de backup con config bak add.
  4. Registra las bases de datos con config db add.
  5. Verifica la conexión con db test --conn mi-conexion.
  6. Crea backups con bak start --conn mi-conexion --name mi-backup.
  7. Si necesitas restaurar, usa restore files --conn mi-conexion --bak mi-backup y luego restore begin --conn mi-conexion --bak mi-backup.

Comandos útiles

Backups

mssql-backups bak start --conn mi-conexion --name mi-backup

Este comando crea un backup por cada base de datos configurada y guarda los archivos en una carpeta con fecha dentro de backup_dir.

Restauración

mssql-backups restore files --conn mi-conexion --bak mi-backup
mssql-backups restore begin --conn mi-conexion --bak mi-backup
  • restore files lista los archivos .bak disponibles.
  • restore begin ejecuta la restauración.

Base de datos

mssql-backups db test --conn mi-conexion
mssql-backups db ls --conn mi-conexion
mssql-backups db logs reduce --conn mi-conexion --bak mi-backup --threshold 1GB --target 100MB
  • db test valida la conexión.
  • db ls lista las bases de datos disponibles.
  • db logs reduce reduce archivos .ldf que superen el umbral configurado.

Caché

mssql-backups cache init
mssql-backups cache clean
  • cache init crea la caché local.
  • cache clean la elimina.

Notas importantes

  • Antes de usar los comandos que dependen de la configuración guardada, inicializa la caché con mssql-backups cache init.
  • Para trabajar con contenedores, Docker debe estar instalado y en ejecución.
  • Asegúrate de que SQL Server pueda leer los archivos .bak cuando uses rutas locales.
  • Si un comando no te queda claro, usa siempre --help en el comando o subcomando correspondiente.

About

Restaura bases de datos, crea backups y limpia logs de SQL Server, todo en un solo CLI

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages