¿Por qué no usar siempre rsync?


17

Quería preguntar ¿hay alguna razón para no usar rsynctodo y abandonar cp?
No estaba al tanto rsyncy ahora no sé por qué cpes necesario.


9
rsyncno está disponible en todas partes, cpes.
— Mat

3
Cual instalación? Linux? ¿Cúal? Unix? ídem. BSD? Nunca se sabe lo que viene por defecto.
— terdon

55
Realmente no hay una "instalación predeterminada" para Linux. Cada distribución tiene su conjunto de paquetes principales y una gran cantidad de variaciones en ellos. Además, cuando necesita trabajar en muchos sistemas, usar las herramientas disponibles en todas partes simplifica las cosas.
— Mat

44
@Mat: hay una instalación predeterminada (o núcleo) en la medida en que las distribuciones de Linux cumplan, a través de la base de usuarios de GNU, con POSIX, que requiere (y define el funcionamiento de) cppero no rsync: pubs.opengroup.org/onlinepubs/007904875 /utilities/contents.htm
— goldilocks del

1
Estoy bastante seguro de que Debian GNU / Linux instala rsync por defecto. Sin embargo, no está disponible en el entorno de instalación y rescate. (He usado la madrugada de hoy para transferir el contenido de mi partición raíz de un disco a otro utilizado el AMD64 7.1.0 DVD de instalación..)
— un CVn

Respuestas:


24

Estrictamente hablando, sí, siempre puedes usar rsync. De man rsync(énfasis mío):

Rsync es una herramienta de copia de archivos rápida y extraordinariamente versátil. Se puede copiar localmente, a / desde otro host a través de cualquier shell remoto, o a / desde un demonio rsync remoto. Ofrece una gran cantidad de opciones que controlan cada aspecto de su comportamiento y permiten una especificación muy flexible del conjunto de archivos a
copiar. Es famoso por su algoritmo de transferencia delta, que reduce la cantidad de datos enviados a través de la red al enviar solo las diferencias entre los archivos de origen y los archivos existentes en el destino. Rsync se usa ampliamente para copias de seguridad y duplicación y como un comando de copia mejorado para el uso diario.

Ahora, a veces no vale la pena escribir esos pocos caracteres adicionales solo para usar un tanque para matar una mosca. Además, a rsyncmenudo no se instala de manera predeterminada, por lo que cpes bueno tenerlo.


¿Quiere decir que no está disponible como parte de la instalación predeterminada, sino una descarga separada?
— Jim

1
@ Jim sí, a veces necesitas instalarte rsyncdependiendo del sistema en el que te encuentres. Si no tienes rootacceso, eso puede ser difícil. cpes POSIX y siempre estará ahí.
— terdon

9
cpes parte de los coreutils de GNU, por lo que siempre se instala en todos los sistemas Linux mientras rsyncno lo está.
— Martin von Wittich

1
sometimes it is just not worth typing those few extra characters- Alias pcp(para "copia de progreso") para eso;)
— Izkata

19

Rsync puede ser más lento que cpen algunas situaciones. Por ejemplo, cuando el destino existe y rsync termina haciendo algunas comparaciones costosas para cada bloque, no encuentra bloques iguales y de todos modos copia el archivo fuente completo.

Además, cuando los archivos de destino no existen, rsync no proporciona ninguna ventaja sobre cp.


1
Debajo, la metodología de copia de rsync es significativamente más lenta. Ver unix.stackexchange.com/questions/374071/… . Una serie de cp muestra (a partir de este escrito), una simple secuencia de operaciones de 32 KB de lectura / 32 KB de escritura. Mientras tanto, Rsync realiza una lectura / escritura de 4092 bytes + 4 bytes en el socket / lectura desde el socket / escritura de 250 KB en el archivo. Estoy haciendo una rsync de 36T de archivos de tamaño mixto a 130MB / s de rendimiento. Puedo triplicar eso con cp -a. rsync gana, como usted dice cuando quiere "hacer 'que' parezca 'esto'" en directorios que ya son similares.
— Mike S


4

Debido a que esta cpbandera carece de rsync:

-i, --interactive
       prompt before overwrite (overrides a previous -n option)

No, aunque hay -n(ejecución en seco) en rsync, que puede ser una especie de sustituto de esa función.
— Niloct
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.