¿Cómo puedo copiar/duplicar un archivo a otro directorio usando SFTP?
(2)
Puede clonar directorios remotos usando WinSCP en modo de línea de comandos (
winscp /console
).
Imaginemos que tiene la siguiente estructura en el servidor SFTP remoto:
theDestinationDirectory/
|-file1.txt
|-file2.txt
Puede copiar este directorio remoto utilizando el siguiente script (en la consola WinSCP):
open sftp://myUsername:[email protected]
mkdir theDestinationDirectory
call cp theSourceDirectory/* theDestinationDirectory/ -r
Luego puede verificar que su copia se haya realizado correctamente (en la consola WinSCP):
ls theDestinationDirectory
drwxr-sr-x 2 uid12345 gid12345 37 Jul 29 23:50:24 2016 .
drwxr-sr-x 6 uid12345 gid12345 75 Jul 29 23:50:11 2016 ..
-rw-r--r-- 1 uid12345 gid12345 29670 Jul 29 23:50:24 2016 file1.txt
-rw-r--r-- 1 uid12345 gid12345 12432 Jul 29 23:50:24 2016 file2.txt
Tenga en cuenta que, como escribió Martin Prikryl, es posible que esto no sea compatible con todos los servidores SFTP ... (al menos es compatible con el mío)
He creado un directorio dentro de una ubicación SFTP y quiero mover un archivo de un directorio SFTP a otro directorio, pero el comando
cp
no es compatible allí.
¿Cómo puedo conseguir esto?
Un protocolo SFTP central no admite la duplicación de un archivo remoto.
Hay un borrador de la
extensión del
copy-file
de
copy-file
del protocolo
, pero solo es compatible con unos pocos servidores SFTP (
ProFTPD/mod_sftp
y Bitvise SFTP server, por ejemplo) y pocos clientes SFTP (
WinSCP
por ejemplo).
Definitivamente no es compatible con el servidor SFTP OpenSSH más extendido.
Ni por el cliente OpenSSH SFTP (
sftp
), es decir, no hay un comando
cp
ni ningún otro equivalente funcional.
Alternativas:
-
Si tiene acceso SSH / terminal en el servidor, use el
comando
cp
shell . -
Si su servidor SFTP admite la extensión de
copy-file
, use un cliente SFTP que también lo admita. -
De lo contrario, su única opción es descargar el archivo en una ubicación temporal local y volver a cargar su copia en un directorio remoto diferente / objetivo.
Algunos clientes SFTP pueden hacer esto por usted de manera transparente de una vez (por ejemplo, en WinSCP, vea Duplicar a través de la opción de copia temporal local en el cuadro de diálogo Duplicar ).
(Soy el autor de WinSCP)