Problema/Necesidad:
- Necesito crear una copia local de una carpeta remota en un servidor
Solución utilizada:
- el comando rsync permite sincronizar desde terminal archivos y directorios, de remoto a local y viceversa
- si tengo una llave de acceso en mi $HOME/.ssh/key puedo usarla
- rsync tiene muchas opciones, se escogen las siguientes:
- ---progress: muestra el avance del proceso de sincronización
- -a, equivalente a --archive, una copia recursiva que preserva todos los atributos posibles de los archivos
- -v, equivalente a --verbose, ofrece información adicional del proceso de sincronización
- -z, equivalente a --compress, permite comprimir los archivos para reducir la cantidad de datos transmitidos
- -e, permite ejecutar un comando que soporta la comunicación, en este caso ssh, pude incluir llaves de acceso puertos, etc
- Sintaxis general:
- rsync --opciones ORIGEN DESTINO
- Comando ejecutado:
- sync --progress -avz -e "ssh -i /home/myuser/.ssh/key" user@ipOrDomain:/dir/dir/dir .
- el "." final traduce directorio actual