Skip to main content

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

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.3.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.3-py3-none-any.whl (43.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mssql_backups-3.13.3.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.3.tar.gz
Algorithm Hash digest
SHA256 7575ae729aeb88ab6c5673ab6269dffa67456807ef4073b387ce442811f3121c
MD5 c8f7f78c894038f8ce4d62c782586b42
BLAKE2b-256 041ee61e97dfb29c2c28c5fab87a7aac2df993992c877f818fe3a8b1a0fc30aa

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: mssql_backups-3.13.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 de3efff520fdc6a725d52b590ce59d625fd3d963402c645f4914eca26d2af6fe
MD5 6f77d1a0236e9ef48aea07b8b0652d5e
BLAKE2b-256 712687b752186551be8f1b5f197db3fc0c2c49ca8354c091870d49d27e7edb45

See more details on using hashes here.

Provenance

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