{"id":15002690,"url":"https://github.com/fabianalvaradogt/dbsync","last_synced_at":"2026-03-09T18:03:33.820Z","repository":{"id":247885606,"uuid":"827114866","full_name":"FabianAlvaradoGT/dbsync","owner":"FabianAlvaradoGT","description":"Automatización de respaldo y restauración de base de datos","archived":false,"fork":false,"pushed_at":"2024-07-11T22:03:26.000Z","size":10,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T12:16:29.391Z","etag":null,"topics":["bash","bash-script","database","postgres","sqlserver"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FabianAlvaradoGT.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-07-11T03:52:18.000Z","updated_at":"2024-07-11T22:03:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"b7f1543d-145c-435f-98bc-d328c38d15a9","html_url":"https://github.com/FabianAlvaradoGT/dbsync","commit_stats":null,"previous_names":["fabianalvaradogt/dbsync"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FabianAlvaradoGT%2Fdbsync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FabianAlvaradoGT%2Fdbsync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FabianAlvaradoGT%2Fdbsync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FabianAlvaradoGT%2Fdbsync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FabianAlvaradoGT","download_url":"https://codeload.github.com/FabianAlvaradoGT/dbsync/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243146939,"owners_count":20243742,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bash","bash-script","database","postgres","sqlserver"],"created_at":"2024-09-24T18:51:53.499Z","updated_at":"2026-03-09T18:03:33.578Z","avatar_url":"https://github.com/FabianAlvaradoGT.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔄 DBSync\n\n## 📕 Descripción\n\nEl script `DBSync` es una herramienta de automatización para respaldar y restaurar bases de datos de PostgreSQL y SQL Server, tanto en entornos Docker como no Docker. Este script facilita la replicación de bases de datos desde un servidor en la nube a un servidor local, manejando automáticamente la eliminación y creación de bases de datos, así como la restauración de los datos.\n\n## 🚀 Demo\n\nhttps://github.com/FabianAlvaradoGT/dbsync/assets/150682805/73c7d29f-9625-4a65-a90e-3efb71272988\n\n## 📝 Requisitos\n\nAntes de ejecutar el script, asegúrate de tener lo siguiente instalado y configurado:\n\n### PostgreSQL\n\n1. **PostgreSQL**:\n   - `pg_dump`: Utilidad de línea de comandos para respaldar bases de datos PostgreSQL.\n   - `psql`: Utilidad de línea de comandos para ejecutar comandos SQL en PostgreSQL.\n\n### SQL Server\n\n1. **SQL Server Tools**:\n   - `sqlcmd`: Una utilidad de línea de comandos para ejecutar comandos T-SQL y scripts SQL.\n   - `bcp`: Utilidad de copia masiva para importar/exportar datos.\n\n### Docker\n\n- **Docker** (si planeas usar el modo Docker): Un contenedor de PostgreSQL o SQL Server en ejecución.\n\n### Acceso a la base de datos en la nube\n\n- **Acceso a Azure SQL Server o PostgreSQL**: Credenciales de acceso y permisos necesarios para realizar operaciones de respaldo.\n\n## 👨🏻‍💻 Instalación\n\n### Instalación de PostgreSQL Tools en Linux\n\n```sh\nsudo apt-get update\nsudo apt-get install postgresql-client\n```\n\n### Instalación de SQL Server Tools en Linux\n\n```sh\ncurl -o- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -\ncurl -o- https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list\nsudo apt-get update\nsudo apt-get install mssql-tools unixodbc-dev\necho 'export PATH=\"$PATH:/opt/mssql-tools/bin\"' \u003e\u003e ~/.bashrc\nsource ~/.bashrc\n```\n\n### Instalación de Docker\n\nSigue las instrucciones de instalación en la página [oficial de Docker](https://docs.docker.com/engine/install/).\n\n## 🏃🏻‍♂️ Uso\n\n### Ejecución del script\n\n1. Clona el repositorio o descarga el script DBSync-\\*.sh en tu máquina local.\n2. Haz el script ejecutable:\n\n```sh\nchmod +x DBSync-*.sh # DBSync-Postgres.sh o DBSync-SQLServer.sh\n```\n\n3. Ejecuta el script proporcionando los argumentos necesarios:\n\n```sh\n./DBSync-*.sh \u003cdocker/no-docker\u003e \u003cnombre_base_datos_local\u003e\n```\n\n### Argumentos\n\n- **\u003cdocker/no-docker\u003e**: Especifica si la operación se realiza en un entorno Docker (docker) o no (no-docker).\n- **\u003cnombre_base_datos_local\u003e**: Nombre de la base de datos local donde se restaurarán los datos.\n\n## 🧪 Ejemplo de Uso\n\n### Sin Docker\n\n```sh\n./DBSync-*.sh no-docker my_local_db\n```\n\n### Con Docker\n\n```sh\n./DBSync-*.sh docker my_local_db\n```\n\n## 🛠️ Configuración\n\n### Variables de conexión\n\nEdita el script DBSync.sh para configurar las variables de conexión a tu servidor SQL Server en Azure y el contenedor Docker si es necesario:\n\n```sh\n# Variables compartidas\nBACKUP_FILE=\"backup.bak\"       # Nombre del archivo de respaldo\n\n# Variables Postgres\nPOSTGRES_HOST=\"your_sql_server_host\"\nPOSTGRES_DB=\"your_database\"\nPOSTGRES_USER=\"your_username\"\nPOSTGRES_PASSWORD=\"your_password\"\nPOSTGRES_LOCAL_USER=\"postgres\"\nPOSTGRES_LOCAL_CONTAINER=\"postgres\"\n\n# Variables SQL Server\nSQLSERVER_HOST=\"your_sql_server_host\"\nSQLSERVER_DB=\"your_database\"\nSQLSERVER_USER=\"your_username\"\nSQLSERVER_PASSWORD=\"your_password\"\nSQLSERVER_LOCAL_USER=\"sa\"\nSQLSERVER_LOCAL_CONTAINER=\"sqlserver\"\n```\n\n## ❗ Detalles Importantes\n\n- Seguridad: Asegúrate de que las credenciales y contraseñas no estén expuestas en el script si compartes el código.\n- Permisos: El usuario utilizado debe tener los permisos necesarios para realizar operaciones de respaldo y restauración.\n- Dependencias: Verifica que todas las herramientas y utilidades necesarias estén instaladas y accesibles en tu entorno.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabianalvaradogt%2Fdbsync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabianalvaradogt%2Fdbsync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabianalvaradogt%2Fdbsync/lists"}