Un artículo sobre la configuración de Espíritu de los blogs dice a utilizar scp a copiar de mi máquina local a un servidor remoto:

scp -r ghost-0.3 [email protected]*your-server-ip*:~/

Sin embargo, Railscast 339: Chef Solo Lo Basico utiliza scp para copiar en la dirección opuesta (desde el servidor remoto a la máquina local):

scp -r [email protected]:/var/chef .

En el mismo Railscast, cuando el autor quiere copiar los archivos en el servidor remoto (misma dirección como el primer ejemplo), se utiliza rsync:

rsync -r . [email protected]:/var/chef

¿Por qué utilizar el rsync comando si scp se copia en ambas direcciones? ¿Cómo scp difieren de rsync?

  • Esto es un poco off-topic en ASÍ (al menos por los estándares de hoy en día)…
  • aparte de ser más simple y siempre cifrada, nadie ha señalado nada que scp puede hacer mejor que «rsync -aA». yo prefiero «rsync -aAX –delete source dest». checkout bsync para la sincronización de dos vías.
InformationsquelleAutor Leahcim | 2013-11-27

7 Comentarios

  1. 311

    La principal diferencia entre estas herramientas es la forma en que la copia de archivos.

    scp básicamente lee el archivo de origen y la escribe en el destino. Se realiza un plano lineal copia, a nivel local, o a través de una red.

    rsync también copias de los archivos de forma local o a través de una red. Pero se emplea un especial delta del algoritmo de la transferencia de y un par de optimizaciones para hacer la operación mucho más rápido. Considere la posibilidad de la llamada.

    rsync A host:B
    
    • rsync comprobará el tamaño de los archivos y de modificación de las marcas de tiempo de ambos Un y B, y omitir cualquier otro tratamiento si coinciden.

    • Si el archivo de destino B ya existe, el delta del algoritmo de la transferencia será asegúrese de que sólo las diferencias entre Un y B se envían a través del cable.

    • rsync escribir datos a un archivo temporal T, y, a continuación, reemplace el archivo de destino B con T para hacer la actualización de la mirada «atómica» a los procesos que podrían estar utilizando B.

    Otra diferencia entre ellos se refiere a la invocación. rsync tiene una plétora de opciones de línea de comandos, lo que permite al usuario afinar su comportamiento. Es compatible con complejo de reglas de filtro, se ejecuta en modo de proceso por lotes, el modo de demonio, etc. scp tiene sólo un par de interruptores.

    En resumen, el uso de scp para su día a día las tareas. Los comandos que escriba de vez en cuando en el shell interactivo. Es simple de usar, y en aquellos casos en los rsync optimizaciones no será de mucha ayuda.

    Para tareas recurrentes, como cron puestos de trabajo, uso rsync. Como se ha mencionado, en varias invocaciones va a tomar ventaja de los datos ya transferidos realizar muy rápidamente y ahorrar en recursos. Es una excelente herramienta para mantener a los dos directorios sincronizados a través de una red.

    También, cuando se trabaja con archivos de gran tamaño, uso rsync con el -P opción. Si se interrumpe la transferencia, usted puede reanudar donde se detuvo por volver a emitir el comando. Ver Sid Kshatriya del respuesta.

    • Se indica el uso de scp para su día a día las tareas. A partir de su explicación y de la OP, parece que la interfaz de las dos herramientas, cuando se utiliza sin opciones es idéntico. Si rsync tiene el superior de la aplicación y las interfaces son el mismo, ¿por qué no siempre el uso de rsync?
    • Su interfaz no es la misma, incluso sin opciones. Rsync tiene una especial interpretación de una barra diagonal en el argumento de origen (sincronizar el directorio de sí mismo frente a su contenido). Es posible que tenga otros defectos, no estoy seguro.
    • También, me imagino scp es más probable que esté disponible en un sistema de tipo Unix, por lo que evitar el molesto «comando no encontrado» ahora y entonces.
    • ¿Cómo rsync manejar que mató a mitad de camino a través de, o perder a mitad de camino a través de la red? A menudo veo a la gente hacer scp+mv+trampas para asegurarse de que ellos también pueden comportarse bien en los casos de error. Si rsync puede manejar estos casos lo suficientemente bien podría ser un mejor día a día de la herramienta, incluso si tiene alguna sobrecarga, derecho?
    • rsync tiene la opción-P, que mostrará una barra de progreso y habilitar la reanudación de un parcialmente completado la transferencia. digitalocean.com/community/tutorials/…
    • Otra interfaz diferencia entre scp y rsync: rsync -a frente a scp -rp para preservar la modificación de los tiempos y de los permisos.

  2. 65

    rysnc puede ser útil para ejecutar en lento y conexiones no confiables. Así que si la descarga se anula en el medio de un gran archivo de rysnc será capaz de continuar desde donde lo dejó cuando se invoca de nuevo.

    Uso rsync -vP [email protected]:/path/to/file .

    La opción-P conserva parcialmente los archivos descargados y también muestra el progreso.

    Como de costumbre comprobar man rsync

    • -P es una fantástica opción, gracias.
  3. 24

    Diferencia de b/w scp y rsync sobre diferentes parámetros

    1. El rendimiento a través de la latencia

    • scp : scp es relativamente menor a optimizar y velocidad

    • rsync : rsync es comparativamente más optimizar la velocidad y

    https://www.disk91.com/2014/technology/networks/compare-performance-of-different-file-transfer-protocol-over-latency/

    2. La interrupción de la manipulación

    • scp : scp herramienta de línea de comandos no puede reanudar abortado descargas de la pérdida de las conexiones de red

    • rsync : Si el rsync sesión se interrumpe, puede continuar con ella tantas veces como desee escribir el mismo comando. rsync se reiniciará automáticamente la transferencia de donde salió.

    http://ask.xmodulo.com/resume-large-scp-file-transfer-linux.html

    3. Ejemplo De Un Comando De

    scp

    $ scp source_file_path destination_file_path
    

    rsync

    $ cd /path/to/directory/of/partially_downloaded_file
    $ rsync -P --rsh=ssh [email protected]:bigdata.tgz ./bigdata.tgz 
    

    La -P opción es la misma que --partial --progress, permitiendo rsync para trabajar parcialmente con los archivos descargados. El --rsh=ssh opción le dice a rsync para usar ssh como un shell remoto.

    4. Seguridad :

    scp es más seguro. Usted tiene que usar rsync --rsh=ssh para que sea tan seguro como el scp.

    hombre de documento para saber más :

    ¿Cómo `scp` diferir `rsync`?

  4. 5

    Hay una distinción para mí que scp es siempre cifrada con ssh (secure shell), mientras que rsync no es necesariamente cifrado. Más específicamente, rsync no realiza ninguna de cifrado por sí mismo; es capaz de utilizar otros mecanismos (ssh por ejemplo) para realizar el cifrado.

    Además de la seguridad, el cifrado también tiene un efecto importante en la velocidad de transferencia, así como la sobrecarga de la CPU. (Mi experiencia es que rsync puede ser significativamente más rápido que scp.)

    Echa un vistazo a este post para cuando rsync ha cifrado en.

  5. 5

    Una de las principales características de rsync más de scp (al lado de la delta y el algoritmo de cifrado si se utiliza w/ssh) es que automáticamente verifica si el archivo transferido ha sido transferido correctamente. Scp no va a hacer eso, lo que en ocasiones podría resultar en la corrupción, cuando la transferencia de archivos de gran tamaño. Así que en general rsync es una copia con garantía.

    Centos manpages mencionar este el final de la --checksum opción descripción:

    Nota que rsync siempre verifica que cada archivo transferido se
    correctamente reconstruido en el lado de recepción, mediante la comprobación de un todo-archivo
    suma de comprobación que se genera cuando el archivo se transfiere, sino que
    automático después de la transferencia de verificación no tiene nada que ver con esto
    opción antes de la transferencia de «¿este archivo necesita ser actualizado?»
    de verificación.

  6. 1

    scp que es mejor para uno archivo.

    O una combinación de tar & compresión de los conjuntos de datos más pequeños
    como el código fuente, los árboles, con pocos recursos (es decir: imágenes, sqlite etc).


    Sin embargo, al empezar a tratar con mayor volúmenes decir:

    • carpetas multimedia (40 GB)
    • base de datos de copias de seguridad (28 GB)
    • mp3 bibliotecas (100 GB)

    Se vuelve poco práctico para construir un zip/tar.gz archivo para transferir con scp en este punto a la física límites del servidor de hosting.

    Como un ejercicio, usted puede hacer algunos gimnasia como tuberías tar en ssh y redirigir los resultados en un remoto archivo. (ahorro de la necesidad de construir
    un intercambio o temporal clon aka zip o tar.gz)

    Sin embargo,

    rsync simplificar este proceso y permite la transferencia de datos sin consumir ningún adicionales de espacio en disco.

    También,

    Continua (cron?) actualizaciones de utilizar el mínimo de modificaciones vs completo clonado de copias de velocidad
    grandes migraciones de datos a lo largo del tiempo.

    tl;dr

    scp == pequeña escala (con espacio para construir los archivos comprimidos en la misma unidad)

    rsync == gran escala (con la necesidad de copia de seguridad de datos de gran tamaño y no hay espacio a la izquierda)

  7. 0

    es mejor pensar en un contexto práctico. En nuestro equipo, utilizamos rsync -aP para reemplazar un mal cassandra host en nuestro grupo. No se puede hacer esto con scp (lento y no el progreso de conservación).

    • Realmente no aportando nada aún no mencionados en las otras respuestas. Además ni siquiera deberíamos de respuesta de off-topic preguntas.
    • esto describe un caso de uso real en un escenario, que hace que sea fácil de comprender para los demás la diferencia. Yo no veo ninguna otras respuestas similares
    • Ver -P explicado y lentitud/relacionado con la velocidad de las notas en Sid y Rafa respuestas.

Dejar respuesta

Please enter your comment!
Please enter your name here