Copiar un directorio con SCP

El comando Unix scp (que significa "protocolo de copia segura") es una herramienta simple para cargar o descargar archivos (o directorios) a/desde un m...

El comando Unix scp (que significa "protocolo de copia segura") es una herramienta simple para cargar o descargar archivos (o directorios) a/desde un máquina remota. La transferencia se realiza sobre SSH, que es la forma en que mantiene sus opciones familiares (como para especificar identidades y credenciales) y garantiza una conexión segura. Es realmente útil poder mover archivos entre cualquier máquina que admita SSH.

Incluso si aún no sabe cómo usar el comando, scp debería resultarle un poco más familiar gracias a su similitud con ssh. Las mayores diferencias vienen con la especificación de rutas de archivos/directorios. En este breve artículo, nos ocuparemos específicamente de los directorios.

Descarga de un directorio

En este caso de uso, queremos usar scp para descargar un directorio desde un servidor remoto a nuestra máquina local. Para lograr esto, usaremos la bandera -r, que le dice a scp que recursivamente copie todo el directorio' s contenido a nuestra máquina.

Aquí hay un ejemplo del uso de scp para descargar un directorio:

1
$ scp -r [correo electrónico protegido]:/path/to/remote/source /path/to/local/destination

Bastante simple, ¿verdad? El indicador -r es la única diferencia entre descargar un solo archivo y descargar un directorio completo. Con -r especificado, el árbol de directorios se recorre recursivamente y cada archivo encontrado se descarga.

Una cosa importante a tener en cuenta es que scp sigue enlaces simbólicos dentro de los directorios, así que tenga en cuenta en caso de que esto sea importante para sus propósitos.

Subir un directorio

Aquí también se aplican exactamente los mismos conceptos que para descargar un directorio. Probablemente notará que la única diferencia es donde especificamos el directorio de origen dentro del comando real.

Aquí hay un ejemplo del uso de scp para cargar una carpeta:

1
$ scp -r /path/to/local/source [correo electrónico protegido]:/path/to/remote/destination 

Cuando la ruta de origen aparece primero, como en el ejemplo anterior, se supone que se refiere a un directorio en su máquina local, que luego se transfiere recursivamente a la máquina de destino gracias al indicador -r, como antes.

Conclusión

Para obtener más información sobre el comando scp, le recomiendo que consulte los documentos con man scp. No solo es la forma más rápida de aprender sobre el comando, sino que es un buen hábito para cualquier comando de Unix.