{"id":49955448,"url":"https://github.com/xsismadn3ss/mssql-backups","last_synced_at":"2026-05-17T23:05:53.713Z","repository":{"id":355983184,"uuid":"1225046529","full_name":"xsismadn3ss/mssql-backups","owner":"xsismadn3ss","description":"Restaura bases de datos, crea backups y limpia logs de SQL Server, todo en un solo CLI","archived":false,"fork":false,"pushed_at":"2026-05-17T20:46:08.000Z","size":372,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T22:45:52.847Z","etag":null,"topics":["automation","cli","pythontool","sqlserver","too"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/mssql-backups/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xsismadn3ss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-29T22:28:07.000Z","updated_at":"2026-05-17T20:45:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/xsismadn3ss/mssql-backups","commit_stats":null,"previous_names":["xsismadn3ss/mssql-backups"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/xsismadn3ss/mssql-backups","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xsismadn3ss%2Fmssql-backups","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xsismadn3ss%2Fmssql-backups/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xsismadn3ss%2Fmssql-backups/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xsismadn3ss%2Fmssql-backups/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xsismadn3ss","download_url":"https://codeload.github.com/xsismadn3ss/mssql-backups/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xsismadn3ss%2Fmssql-backups/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33158772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"ssl_error","status_checked_at":"2026-05-17T22:39:10.741Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","cli","pythontool","sqlserver","too"],"created_at":"2026-05-17T23:05:53.042Z","updated_at":"2026-05-17T23:05:53.707Z","avatar_url":"https://github.com/xsismadn3ss.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPI Version](https://img.shields.io/pypi/v/mssql-backups)](https://pypi.org/project/mssql-backups/)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/xsismadn3ss/mssql-backups)\n[![UV Tool](https://img.shields.io/badge/uv-tool-a20090?logo=uv)](#)\n[![Python Package](https://img.shields.io/badge/Python_Package-113050?logo=python)](#)\n[![Python Package](https://img.shields.io/badge/typer-app-113050?logo=Typer)](#)\n\n# MSSQL Backups\nHerramienta de consola para administrar configuraciones, crear backups, restaurar bases de datos de SQL Server y limpiar logs para liberar espacio.\n\nLa 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.\n\n## Requisitos\n\n- `uv`\n- `sqlcmd` disponible en el sistema\n\n## Instalación de la herramienta\n\n1. Instala `uv`:\n\n```bash\nwinget install --id=astral-sh.uv -e\n```\n\n2. Instala la herramienta:\n\n```bash\nuv tool install mssql-backups\n```\n\n3. Verifica que esté disponible:\n\n```bash\nmssql-backups --help\n```\n\n## Configurar `sqlcmd`\n\nLa herramienta necesita `sqlcmd` para ejecutar consultas y realizar backups/restauraciones.\n\n### Windows\n\nInstálalo con:\n\n```bash\nwinget install sqlcmd\n```\n\n### Linux\n\nEn Linux debes instalar los paquetes oficiales de Microsoft para `sqlcmd`.\n\nRecomendación general:\n\n1. Agrega el repositorio oficial de Microsoft para tu distribución.\n2. Instala `mssql-tools18` junto con `unixODBC`.\n3. Añade el binario al `PATH` de tu shell.\n\nEjemplo común en Bash:\n\n```bash\necho 'export PATH=\"$PATH:/opt/mssql-tools18/bin\"' \u003e\u003e ~/.bashrc\nsource ~/.bashrc\n```\n\nSi usas Ubuntu o Debian, sigue la guía oficial de Microsoft para tu versión e instala también `unixodbc-dev`.\n\n## Comandos principales\n\nLos comandos principales de la herramienta son:\n\n| Comando | Descripción |\n| --- | --- |\n| `config` | Administrar configuraciones guardadas en cache |\n| `restore` | Restaurar bases de datos usando backups guardados |\n| `cache` | Crear o limpiar la caché local |\n| `db` | Probar conexiones, listar bases de datos y reducir logs |\n| `bak` | Crear backups de las bases de datos configuradas |\n\nPara obtener ayuda de cualquier comando o subcomando, usa `--help`.\nMuchos comandos también son interactivos: si omites un parámetro, la herramienta te lo pedirá en pantalla.\n\n```bash\nmssql-backups --help\nmssql-backups config --help\nmssql-backups restore --help\nmssql-backups cache --help\nmssql-backups db --help\nmssql-backups bak --help\n```\n\n## Cómo configurar la aplicación\n\nLa 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.\n\n### 1. Crear una conexión\n\nUsa `config conn add` para guardar la conexión a SQL Server.\n\n```bash\nmssql-backups config conn add\n```\n\nEse comando te pedirá de forma interactiva:\n\n- nombre de la conexión\n- host\n- puerto\n- usuario\n- contraseña\n\nTambién puedes consultar o eliminar conexiones con:\n\n```bash\nmssql-backups config conn ls\nmssql-backups config conn rm\n```\n\n### 2. Crear una configuración de backup\n\nUsa `config bak add` para guardar la ruta de backups y la ruta de datos.\n\n```bash\nmssql-backups config bak add\n```\n\nEse comando te pedirá:\n\n- nombre de la configuración\n- descripción\n- `backup_dir`\n- `data_dir`\n- si usa contenedor Docker\n- nombre del contenedor, si corresponde\n\nSi el backup está dentro de un contenedor, las rutas deben ser rutas válidas dentro del contenedor.\n\nTambién puedes listar o eliminar configuraciones con:\n\n```bash\nmssql-backups config bak ls\nmssql-backups config bak rm\n```\n\n### 3. Asociar bases de datos a una configuración\n\nUsa `config db add` para registrar una o varias bases de datos dentro de una configuración de backup.\n\n```bash\nmssql-backups config db add\n```\n\nPuedes ingresar varias bases separadas por comas.\n\nTambién puedes listar o eliminar asociaciones con:\n\n```bash\nmssql-backups config db ls\nmssql-backups config db rm\n```\n\n## Flujo de uso recomendado\n\n0. Inicializa la caché con `cache init`.\n1. Guarda la conexión con `config conn add`.\n2. Guarda la configuración de backup con `config bak add`.\n3. Registra las bases de datos con `config db add`.\n4. Verifica la conexión con `db test --conn mi-conexion`.\n5. Crea backups con `bak start --conn mi-conexion --name mi-backup`.\n6. Si necesitas restaurar, usa `restore files --conn mi-conexion --bak mi-backup` y luego `restore begin --conn mi-conexion --bak mi-backup`.\n\n## Comandos útiles\n\n### Backups\n\n```bash\nmssql-backups bak start --conn mi-conexion --name mi-backup\n```\n\nEste comando crea un backup por cada base de datos configurada y guarda los archivos en una carpeta con fecha dentro de `backup_dir`.\n\n### Restauración\n\n```bash\nmssql-backups restore files --conn mi-conexion --bak mi-backup\nmssql-backups restore begin --conn mi-conexion --bak mi-backup\n```\n\n- `restore files` lista los archivos `.bak` disponibles.\n- `restore begin` ejecuta la restauración.\n\n### Base de datos\n\n```bash\nmssql-backups db test --conn mi-conexion\nmssql-backups db ls --conn mi-conexion\nmssql-backups db logs reduce --conn mi-conexion --bak mi-backup --threshold 1GB --target 100MB\n```\n\n- `db test` valida la conexión.\n- `db ls` lista las bases de datos disponibles.\n- `db logs reduce` reduce archivos `.ldf` que superen el umbral configurado.\n\n### Caché\n\n```bash\nmssql-backups cache init\nmssql-backups cache clean\n```\n\n- `cache init` crea la caché local.\n- `cache clean` la elimina.\n\n## Notas importantes\n\n- Antes de usar los comandos que dependen de la configuración guardada, inicializa la caché con `mssql-backups cache init`.\n- Para trabajar con contenedores, Docker debe estar instalado y en ejecución.\n- Asegúrate de que SQL Server pueda leer los archivos `.bak` cuando uses rutas locales.\n- Si un comando no te queda claro, usa siempre `--help` en el comando o subcomando correspondiente.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxsismadn3ss%2Fmssql-backups","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxsismadn3ss%2Fmssql-backups","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxsismadn3ss%2Fmssql-backups/lists"}