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

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.

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.13.2.tar.gz (28.2 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.13.2-py3-none-any.whl (43.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mssql_backups-3.13.2.tar.gz
  • Upload date:
  • Size: 28.2 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.13.2.tar.gz
Algorithm Hash digest
SHA256 96962b9a562e5da925a3531f01fa573fdd4191c510ac2a6219e5b37f2e5c6aeb
MD5 6b80b798e12c6fcacc630615c6629b79
BLAKE2b-256 202c29a80403a2deba867af69b794a0552ed0c4a92044f3e80802fee5889b840

See more details on using hashes here.

Provenance

The following attestation bundles were made for mssql_backups-3.13.2.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.13.2-py3-none-any.whl.

File metadata

  • Download URL: mssql_backups-3.13.2-py3-none-any.whl
  • Upload date:
  • Size: 43.8 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.13.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6c9136002f565245a4fe5ea2a9fe20cf688507c0f6241c097b30affc3e35357b
MD5 27c1f68f424051ca44479df2917b6660
BLAKE2b-256 e0440d417c91e2d9a9cf871d01e2fea24485b6820da9fe1756b997befe824e8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mssql_backups-3.13.2-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