3 votos

El uso de `rsync` como la más avanzada `cp`

Para copiar archivos grandes (y/o de grandes cantidades de archivos), especialmente a través de discos, prefiero evitar el uso del Buscador, ya que a menudo falla con algunos no tiene sentido mensaje de error y/o queja acerca de los permisos.

En lugar de eso he estado buscando en el uso de rsync - o, más específicamente, la versión más reciente de rsync disponible desde el Homebrew, que, hoy por hoy, es:

rsync  version 3.1.1  protocol version 31

Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes, no prealloc, file-flags

(Esas son las funciones predeterminadas que Homebrew utiliza.)

El problema es que rsync es irremediablemente complejo, y nunca estoy seguro de si estoy usando los argumentos apropiados, o si hay otros que me debe utilizar:

rsync \
    --8-bit-output \
    --acls \
    --backup \
    --devices \
    --exclude='.DS_Store' \
    --executability \
    --group \
    --human-readable \
    --inplace \
    --itemize-changes \
    --owner \
    --perms \
    --progress \
    --prune-empty-dirs \
    --recursive \
    --safe-links \
    --specials \
    --stats \
    --times \
    --update \
    --verbose \
    --xattrs \
    'foo' /path/to/destination/

Args no estoy seguro de si se debe usar o no, principalmente porque no estoy 100% seguro de lo que hacen:

  • (una de las otras opciones de enlaces en lugar de '--safe-links")
  • - en relación
  • --dispersas
  • --parcial

Otras sugerencias?

2voto

Ged Byrne Puntos 481

A menos que usted tiene unas necesidades específicas, me lanzaría la mayoría de esas opciones y mantenerlo simple: rysnc -aEv (en el valor predeterminado de la versión OS X) o rsync -aXv (en la versión de Homebrew).

Opciones

  • -a es el modo de archivo, lo que esencialmente significa preservar los metadatos (marcas de tiempo, permisos, etc.) y hacer una copia recursiva. Esto es lo que usted desea para su estándar de copia de seguridad o copia de las operaciones.

  • -E/-X conserva los atributos extendidos (un.k.una. forks de recursos). En el pasado, la incorporada en el rsync versión tenía una funcionalidad especial para cubrir HFS+ peculiaridades en este sentido, pero las nuevas versiones predeterminadas de rsync puede ser mejorado en ese sentido ahora. Me inclino hacia el uso de la incorporada en la versión a menos que tenga una razón específica para no hacerlo.

  • -v es la opción verbose, y simplemente hace que sea más fácil realizar un seguimiento de lo que está pasando, si se está ejecutando esto en una ventana de Terminal. Si va a ser que se ejecuta en una secuencia de comandos, puede eliminarlo.

A menos que usted sabe que usted necesita, usted puede ignorar la mayoría de esas opciones que tienes ya. Algunos están duplicados por el comando de archivo, y otros (como --inplace, lo que puede ralentizar las cosas y dejar el sistema de archivos en un estado incoherente) sólo son necesarios para determinados casos de borde. Hazte un favor y mantener las cosas simples - si te encuentras con problemas específicos con las opciones que he mencionado, tal vez enumerar aquellos (en una pregunta aparte si es necesario).

Como un aparte, ejecutando en problemas copiando a través del Buscador es un poco de una bandera roja de la OMI. Mientras que puede no siempre ser tan rápido como algunas opciones, no debería estar lanzando mensajes de error. Puede que desee comprobar/reparar el disco en la Utilidad de Discos.

-1voto

foxybagga Puntos 1345

usted podría utilizar ditto que es una forma más avanzada de cp y fue creado por Apple.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X