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.13.0.tar.gz (27.8 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.0-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mssql_backups-3.13.0.tar.gz
  • Upload date:
  • Size: 27.8 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.0.tar.gz
Algorithm Hash digest
SHA256 ff83348c54f1077ca115b7a635b6b4acb0b23fc5b3f23c2312eae4f133114d26
MD5 cc561652788b627fa9ddd035dfaf2db2
BLAKE2b-256 c9be897b7195afc6e5a01884cced236505886fb8a046ebc3cfd243ee488928ca

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: mssql_backups-3.13.0-py3-none-any.whl
  • Upload date:
  • Size: 43.6 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8ea32fb2cbf08533aadee6fc02251595e88132345d79a2cedf1dc6b14cd816d
MD5 af0b4f161dae3706c4211975bed243c8
BLAKE2b-256 1242adf7e0f46b8117339518f219b7d9c1bd77667cb67380f79de2638653dc8d

See more details on using hashes here.

Provenance

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