RSYNC es una herramienta potente utilizada en sistemas Unix para respaldar y sincronizar archivos de manera eficiente. Al usar RSYNC, puedes especificar un puerto específico para mejorar las funciones de seguridad y gestionar el tráfico de red.
Puedes especificar el puerto utilizando la opción `-rsh` o `-e`. Pero, en lugar de usar `ssh`, usarás `ssh -pXXX` donde XXX es el número de puerto que deseas usar. Aquí está un ejemplo sobre cómo hacerlo:
```bash
rsync -avz -e ‘ssh -p 2222’ /ruta/directorio/local user@ip.remota:/ruta/directorio/remoto
```
En el código anterior, `-avz` es una combinación popular de opciones que indica a RSYNC que mantenga los permisos de los archivos (`-a`), use un algoritmo de compresión (`-z`) para minimizar el uso de ancho de banda, y muestre una salida verbosa (`-v`). `-e ‘ssh -p 2222’` indica a RSYNC que utilice SSH en el puerto 2222 para la transferencia de archivos.
Si deseas usar un puerto específico en un script bash y recibir el número de puerto como un argumento de línea de comandos en lugar de codificarlo en el script, puedes hacerlo de la siguiente manera:
```bash #!/bin/bash
RSYNC es una herramienta muy flexible. Puedes no sólo especificar un puerto para SSH sino también usar opciones adicionales de SSH. La documentación oficial de RSYNC y SSH son excelentes recursos para aprender más acerca de cómo usar estas características (ver https://man7.org/linux/man-pages/man1/rsync.1.html y https://man.openbsd.org/ssh).
Ten en cuenta que necesitas tener los derechos de acceso necesarios en ambos sistemas para poder usar RSYNC a través de SSH. Además, tanto el sistema fuente como el de destino deben tener instalado RSYNC.
Finalmente, para mejorar la seguridad, considera utilizar claves SSH en lugar de contraseñas y también bloquea los puertos no utilizados en tu firewall.
Fuentes:
1) “rsync(1) – Linux man page”. (n.d.). Retrieved August 27, 2021, from https://man7.org/linux/man-pages/man1/rsync.1.html
2) “SSH – OpenBSD manual pages”. (n.d.). Retrieved August 27, 2021, from https://man.openbsd.org/ssh
3) Kerner, S. M. (2005). Pro Bash Programming: Scripting the Linux Shell. Apress.