Copiar archivos con ciertas extensiones con scp


19

Quiero copiar .jpgy .pngarchivos scp, pero hay archivos con diferentes extensiones en la misma carpeta desde la que estoy copiando. Estoy haciendo lo siguiente:

scp user@someRemoteHost.com:/folder/*.{jpg,png} .

Se me pide que ingrese mi contraseña para cada tipo de extensión. ¿Hay alguna manera de hacer esto de tal manera que ingrese mi contraseña solo una vez?

Respuestas:


31

Simplemente reemplácelo con:

scp user@someRemoteHost.com:'/folder/*.{jpg,png}' .

Tenga en cuenta el par de comillas simples. En su caso, su shell local está evaluando la expresión, convirtiéndola realmente en:

scp user@someRemoteHost.com:/folder/*.jpg user@someRemoteHost.com:/folder/*.png .

de ahí las dos contraseñas solicitadas. En esta solución, el par de comillas simples lo protege de la evaluación por el shell local, por lo que es el shell remoto llamado por (el remoto) scp que está evaluando la expresión.


¿Cómo puedo incluir todos los subdirectorios de ese directorio?
xxx ---

@ pushpen.paul Si no necesita seleccionar solo archivos png y jpg pero quiere copiar todo, entonces usarlo, por ejemplo, scp -r user@someRemoteHost.com:'/folder' . debería hacerlo. De lo contrario, si todavía desea copiar solo png y jpg en esos subdirectorios, probablemente no pueda usar scp o sftp (a menos que sftp / lftp con un posible script personalizado), pero en su lugar necesite ejecutar algo como ssh + un par de tar. Tendría que hacer su propia pregunta con las necesidades específicas entonces.
AB

7

Es mejor usar rsync para copiar operaciones entre servidores.

 rsync -avzh user@remoteip:/path/*.jpg user@192.168.159.155:/path/*.png localserverpath

Usando rsync solo pedirá la contraseña una vez.

También en rsync mientras transfiere el archivo, comprobará en la ubicación de destino si el archivo existe o no y también comprobará si el contenido es el mismo o no en la ubicación de origen y la ubicación de destino.

Si el archivo también existe en la ubicación de destino y el contenido también es el mismo, entonces no copiará ese archivo. Solo copiará los archivos que no existen en la ubicación de destino, por lo que reduce el tiempo de procesamiento.

rsync a menudo se usa como una herramienta de copia de seguridad incremental.


8
No importa si se usa rsynco scp, el punto es que /folder/*.{jpg,png}debería citarse '/folder/*.{jpg,png}' .
αғsнιη
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.