| Name | rsyncx JSON |
| Version |
0.1.8
JSON |
| download |
| home_page | None |
| Summary | Sincroniza tus datos de manera segura con rsyncx (basado en rsync) donde se incluye papelera para no perder datos, con .ignore para ignorar archivos o carpetas y válido para Synology o Servidor. |
| upload_time | 2025-10-26 19:23:08 |
| maintainer | None |
| docs_url | None |
| author | Mario x |
| requires_python | >=3.8 |
| license | MIT |
| keywords |
rsync
sync
backup
synology
nas
mirror
cli
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
## 🧩 rsyncx
rsyncx es un sincronizador seguro basado en rsync, diseñado para mantener tus carpetas idénticas entre varios equipos y un NAS o servidor (Synology o similar). Incluye papelera remota, protección ante borrados accidentales y soporte para múltiples grupos de sincronización.
---
## ⚙️ Instalación
Puedes instalarlo fácilmente desde pip o pipx:
```pip install rsyncx```
o bien
```pipx install rsyncx```
---
## 🧠 Configuración inicial
Ejecuta el siguiente comando para crear los archivos de configuración y filtro:
```rsyncx configure```
Esto generará en tu carpeta de usuario la estructura:
````
~/.xsoft/rsyncx/
├── config.py # configuración general y grupos
└── .rsync-filter # exclusiones por defecto (venv, .idea, __pycache__, etc.)
````
Puedes editar config.py para definir tus grupos y servidores.
#### Ejemplo de configuración:
```
servers = {
'default': {
'host_local': '192.168.1.18',
'host_vpn': '100.65.103.33',
'port': 2908,
'user': 'rsyncx_user',
'remote': '/volume1/Backup/rsyncx_mac/',
'identity': 'passw',
'passw': '<aqui_tu_pass>'
}
}
SINCRONIZAR = [
{
'grupo': 'scriptsVarios',
'server': 'default',
'name_folder_backup': 'scriptsmac',
'sync': '~/Proyectos/scriptsmac/'
},
{
'grupo': 'sshMac',
'server': 'default',
'name_folder_backup': 'sshMac',
'sync': '~/.ssh/'
}
]
```
---
## ☁️ Subir cambios (push)
Envía los cambios locales al servidor remoto:
```rsyncx push```
O bien, para un grupo concreto:
```rsyncx push <nombre_grupo>```
#### Características:
🔁 Borra en remoto los archivos eliminados localmente (se mueven a _papelera/FECHA).
🚫 No sube la carpeta _papelera local.
🔑 Si no puede usar la clave privada, se usa automáticamente autenticación por contraseña (sshpass).
## 💾 Descargar cambios (pull)
Trae actualizaciones desde el servidor remoto:
```rsyncx pull```
O un grupo concreto:
```rsyncx pull <nombre_grupo>```
#### Características:
🔒 No borra archivos locales (protección ante pérdida de datos).
♻️ Sincroniza también la papelera remota (_papelera).
---
## 🧹 Limpiar papeleras
Vacía las papeleras locales y remotas sin eliminar sus carpetas:
`rsyncx purge`
Ideal tras revisiones o sincronizaciones finalizadas.
---
## 🧩 Estructura de carpetas
```
~/.xsoft/rsyncx/
│
├── config.py # Config principal (editable)
└── .rsync-filter # Exclusiones (se aplica a todos los grupos)
```
Cada grupo en SINCRONIZAR apunta a una carpeta local y su equivalente remoto:
```
Local: ~/Proyectos/scriptsVarios/
Remoto: /volume1/Backup/rsyncx_mac/scriptsVarios/
```
Dentro del remoto, los archivos eliminados se guardan con versión:
```/_papelera/2025-10-17_1237/```
---
## 💡 Consejos
• ✅ Puedes tener tantos grupos como quieras, y cada uno puede apuntar a un servidor distinto.
• ✅ Si un host local no responde, rsyncx usa automáticamente el host VPN.
• ✅ Puedes añadir tus exclusiones personalizadas en ~/.xsoft/rsyncx/.rsync-filter.
• ✅ Usa rsyncx configure una sola vez por equipo para inicializar.
• 🔒 sshpass se utiliza de forma controlada y segura mediante variables de entorno.
---
## 🧱 Requisitos
• Python ≥ 3.8
• rsync y sshpass instalados en el sistema
Instalación rápida (macOS/Linux):
```sudo apt install rsync sshpass```
o
```brew install rsync sshpass```
💡 El comando rsyncx configure intentará instalar automáticamente las dependencias si es posible.
---
## 🧾 Licencia
MIT License © 2025
Desarrollado por Mario x
Raw data
{
"_id": null,
"home_page": null,
"name": "rsyncx",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "rsync, sync, backup, Synology, NAS, mirror, CLI",
"author": "Mario x",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/59/10/05e25e5cafc2a22477b7ba74ad782c611fb22dc381dbb07fa645ab1908b9/rsyncx-0.1.8.tar.gz",
"platform": null,
"description": "## \ud83e\udde9 rsyncx\n\nrsyncx es un sincronizador seguro basado en rsync, dise\u00f1ado para mantener tus carpetas id\u00e9nticas entre varios equipos y un NAS o servidor (Synology o similar). Incluye papelera remota, protecci\u00f3n ante borrados accidentales y soporte para m\u00faltiples grupos de sincronizaci\u00f3n.\n\n---\n\n## \u2699\ufe0f Instalaci\u00f3n\n\nPuedes instalarlo f\u00e1cilmente desde pip o pipx:\n\n```pip install rsyncx```\n\no bien\n\n```pipx install rsyncx```\n\n---\n\n## \ud83e\udde0 Configuraci\u00f3n inicial\n\nEjecuta el siguiente comando para crear los archivos de configuraci\u00f3n y filtro:\n\n```rsyncx configure```\n\nEsto generar\u00e1 en tu carpeta de usuario la estructura:\n\n````\n~/.xsoft/rsyncx/\n \u251c\u2500\u2500 config.py # configuraci\u00f3n general y grupos\n \u2514\u2500\u2500 .rsync-filter # exclusiones por defecto (venv, .idea, __pycache__, etc.)\n````\n\nPuedes editar config.py para definir tus grupos y servidores.\n#### Ejemplo de configuraci\u00f3n:\n```\nservers = {\n 'default': {\n 'host_local': '192.168.1.18',\n 'host_vpn': '100.65.103.33',\n 'port': 2908,\n 'user': 'rsyncx_user',\n 'remote': '/volume1/Backup/rsyncx_mac/',\n 'identity': 'passw',\n 'passw': '<aqui_tu_pass>'\n }\n}\n\nSINCRONIZAR = [\n {\n 'grupo': 'scriptsVarios',\n 'server': 'default',\n 'name_folder_backup': 'scriptsmac',\n 'sync': '~/Proyectos/scriptsmac/'\n },\n {\n 'grupo': 'sshMac',\n 'server': 'default',\n 'name_folder_backup': 'sshMac',\n 'sync': '~/.ssh/'\n }\n]\n```\n\n---\n\n## \u2601\ufe0f Subir cambios (push)\n\nEnv\u00eda los cambios locales al servidor remoto:\n\n```rsyncx push```\n\nO bien, para un grupo concreto:\n\n```rsyncx push <nombre_grupo>```\n\n\n#### Caracter\u00edsticas:\n\n\ud83d\udd01 Borra en remoto los archivos eliminados localmente (se mueven a _papelera/FECHA).\n\n\ud83d\udeab No sube la carpeta _papelera local.\n\n\ud83d\udd11 Si no puede usar la clave privada, se usa autom\u00e1ticamente autenticaci\u00f3n por contrase\u00f1a (sshpass).\n\n\n\n\n## \ud83d\udcbe Descargar cambios (pull)\n\nTrae actualizaciones desde el servidor remoto:\n\n```rsyncx pull```\n\nO un grupo concreto:\n\n```rsyncx pull <nombre_grupo>```\n\n#### Caracter\u00edsticas:\n\n\ud83d\udd12 No borra archivos locales (protecci\u00f3n ante p\u00e9rdida de datos).\n\n\u267b\ufe0f Sincroniza tambi\u00e9n la papelera remota (_papelera).\n\n---\n\n## \ud83e\uddf9 Limpiar papeleras\n\nVac\u00eda las papeleras locales y remotas sin eliminar sus carpetas:\n\n`rsyncx purge`\n\nIdeal tras revisiones o sincronizaciones finalizadas.\n\n---\n\n## \ud83e\udde9 Estructura de carpetas\n\n```\n~/.xsoft/rsyncx/\n\u2502\n\u251c\u2500\u2500 config.py # Config principal (editable)\n\u2514\u2500\u2500 .rsync-filter # Exclusiones (se aplica a todos los grupos)\n```\n\nCada grupo en SINCRONIZAR apunta a una carpeta local y su equivalente remoto:\n\n```\nLocal: ~/Proyectos/scriptsVarios/\nRemoto: /volume1/Backup/rsyncx_mac/scriptsVarios/\n```\n\nDentro del remoto, los archivos eliminados se guardan con versi\u00f3n:\n\n```/_papelera/2025-10-17_1237/```\n\n\n---\n\n## \ud83d\udca1 Consejos\n\t\u2022\t\u2705 Puedes tener tantos grupos como quieras, y cada uno puede apuntar a un servidor distinto.\n\t\u2022\t\u2705 Si un host local no responde, rsyncx usa autom\u00e1ticamente el host VPN.\n\t\u2022\t\u2705 Puedes a\u00f1adir tus exclusiones personalizadas en ~/.xsoft/rsyncx/.rsync-filter.\n\t\u2022\t\u2705 Usa rsyncx configure una sola vez por equipo para inicializar.\n\t\u2022\t\ud83d\udd12 sshpass se utiliza de forma controlada y segura mediante variables de entorno.\n\n---\n\n## \ud83e\uddf1 Requisitos\n\t\u2022\tPython \u2265 3.8\n\t\u2022\trsync y sshpass instalados en el sistema\n\nInstalaci\u00f3n r\u00e1pida (macOS/Linux):\n\n```sudo apt install rsync sshpass```\no\n```brew install rsync sshpass```\n\n\ud83d\udca1 El comando rsyncx configure intentar\u00e1 instalar autom\u00e1ticamente las dependencias si es posible.\n\n---\n\n## \ud83e\uddfe Licencia\n\nMIT License \u00a9 2025\nDesarrollado por Mario x\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Sincroniza tus datos de manera segura con rsyncx (basado en rsync) donde se incluye papelera para no perder datos, con .ignore para ignorar archivos o carpetas y v\u00e1lido para Synology o Servidor.",
"version": "0.1.8",
"project_urls": {
"Homepage": "https://github.com/pistatxos/rsyncx",
"Issues": "https://github.com/pistatxos/rsyncx/issues",
"Repository": "https://github.com/pistatxos/rsyncx"
},
"split_keywords": [
"rsync",
" sync",
" backup",
" synology",
" nas",
" mirror",
" cli"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6737a384d230881fb17d082f7792e5b1d29f86a4b6fb2e57826405cea9b6d244",
"md5": "8ab3cf001d6ad1b7e019994d988cd780",
"sha256": "e7fc68b696b5c168daed77cb26d61139b07612a8d39f034f0a7a2a3a2365629c"
},
"downloads": -1,
"filename": "rsyncx-0.1.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8ab3cf001d6ad1b7e019994d988cd780",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 9803,
"upload_time": "2025-10-26T19:23:07",
"upload_time_iso_8601": "2025-10-26T19:23:07.933117Z",
"url": "https://files.pythonhosted.org/packages/67/37/a384d230881fb17d082f7792e5b1d29f86a4b6fb2e57826405cea9b6d244/rsyncx-0.1.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "591005e25e5cafc2a22477b7ba74ad782c611fb22dc381dbb07fa645ab1908b9",
"md5": "8109b234a181076e458136a18e28ef6f",
"sha256": "9bf2dd92287b009ad9edeca66dcb2ef47fe0d461d649aa386db2641e8efebd85"
},
"downloads": -1,
"filename": "rsyncx-0.1.8.tar.gz",
"has_sig": false,
"md5_digest": "8109b234a181076e458136a18e28ef6f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 10641,
"upload_time": "2025-10-26T19:23:08",
"upload_time_iso_8601": "2025-10-26T19:23:08.825832Z",
"url": "https://files.pythonhosted.org/packages/59/10/05e25e5cafc2a22477b7ba74ad782c611fb22dc381dbb07fa645ab1908b9/rsyncx-0.1.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-26 19:23:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pistatxos",
"github_project": "rsyncx",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "rsyncx"
}