GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo _MOVER_ archivos con scp?

Solución 1:

rsync sobre ssh es probablemente su mejor apuesta con el --remove-source-files opción

rsync -avz --remove-source-files -e ssh /this/dir [email protected]:/remote/dir 

una prueba rápida da;

[[email protected] ~]$ mkdir test1
[[email protected] ~]$ mkdir test2
[[email protected] ~]$ touch test1/testfile.1
[[email protected] ~]$ ls test1/
testfile.1
[[email protected] ~]$ rsync --remove-source-files -av -e ssh test1/testfile.1 [email protected]:/home/tomh/test2/
sending incremental file list

sent 58 bytes  received 12 bytes  10.77 bytes/sec
total size is 0  speedup is 0.00

[[email protected] ~]$ ls test1/
[[email protected] ~]$
[[email protected] ~]$ ls test2/
testfile.1

Como mencionó @SvenW, -e ssh es el valor predeterminado, por lo que se puede omitir.

Solución 2:

Usa rsync en lugar de scp :

rsync -avz --remove-source-files /sourcedir [email protected]:/targetdir 

Más información con man rsync .

Solución 3:

Esta pregunta ha sido respondida muy bien, y la respuesta fue aceptada, pero dado que flota en la parte superior de la página principal, pensé que al menos intentaría responderla con mayor precisión, aunque con menos elegancia. Sí, puede usar el código de retorno de scp , y lo hago a menudo. En bash :

scp foo [email protected]:/destination && rm foo

Tomo su punto sobre múltiples archivos para copiar y manejar fallas en la pila correctamente, por lo que para múltiples archivos:

for file in bar*; do scp "$file" [email protected]:/destination && rm "$file" ; done

Esto último solo es práctico si estás usando ssh-agent , pero espero que lo seas.

Solución 4:

en mi situación, el puerto ssh no es 22, entonces

rsync -avz --remove-source-files -e "ssh -p $portNumber" [email protected]:/path/to/files/ /local/path/

funciona para mí.

Solución 5:

si tiene un servidor de destino más antiguo que yo, no puede usar

--remove-source-files

pero tienes que usar

--remove-sent-files --protocol=29

en su lugar.


Linux
  1. Cómo descomprimir archivos en Linux (con ejemplos)

  2. ¿Cómo encontrar archivos con una determinada subruta?

  3. Cómo transferir archivos de forma segura usando SCP

  4. Cómo transferir archivos en Linux con SCP y Rsync

  5. Cómo copiar varios archivos simultáneamente usando scp

Cómo encontrar archivos con el comando fd en Linux

Cómo descargar archivos con el comando Curl en Linux

Cómo descargar archivos con el comando Wget en Linux

Cómo subir archivos con FileZilla

Cómo transferir archivos con Commander One

Copie archivos de forma segura con el comando SCP