sftp

¿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)