Skip to main content

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

Project description

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:
uv tool run 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mssql_backups-3.12.0.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mssql_backups-3.12.0-py3-none-any.whl (41.7 kB view details)

Uploaded Python 3

File details

Details for the file mssql_backups-3.12.0.tar.gz.

File metadata

  • Download URL: mssql_backups-3.12.0.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mssql_backups-3.12.0.tar.gz
Algorithm Hash digest
SHA256 db03323a1fb6b869b254c8d564ac274b680cc779b647f1c50b763b564823c3da
MD5 8e5d8e1623fbeed73774908b3ae48ae9
BLAKE2b-256 3a6ba16ac2d6855f7f4440d7dfaa87b486df2ae160becc0b1658cb7d9fab8874

See more details on using hashes here.

Provenance

The following attestation bundles were made for mssql_backups-3.12.0.tar.gz:

Publisher: python-publish.yml on xsismadn3ss/mssql-backups

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mssql_backups-3.12.0-py3-none-any.whl.

File metadata

  • Download URL: mssql_backups-3.12.0-py3-none-any.whl
  • Upload date:
  • Size: 41.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mssql_backups-3.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6429016d5111f1a58f8df300053bbfcc9c1313217c243c869e1e5ba9ea6f77dc
MD5 96d8d1de87fc1f42ac1cc02d5491cb00
BLAKE2b-256 6ed30d4d0121b865b46513da71be608bd47721e6282b9c279bfee694489b862d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mssql_backups-3.12.0-py3-none-any.whl:

Publisher: python-publish.yml on xsismadn3ss/mssql-backups

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page