rsync para copiar archivos que ha cambiado

42

Necesito copiar algunos archivos de un directorio en particular a una ubicación diferente a diario. Solo quiero copiar los cambios, así que estoy planeando usarlos rsync. Estos archivos siguen la siguiente convención de nomenclaturamysql-bin.*

Mi comando se ve de la siguiente manera

# rsync --update -raz --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

Mi confusión es que, dado que planeo copiar solo unos pocos archivos de un directorio en lugar de los contenidos completos del directorio, solía * copiar solo los archivos requeridos. Solo quiero saber si mi comando es correcto para lograr lo mismo.

Zama Ques
fuente

Respuestas:

51

Se ve bien. Aunque, ¿por qué estás usando la -zopción para comprimir la transferencia? Esta opción se usa normalmente cuando está copiando a un servidor rsync remoto a través de una red lenta. En este caso, comprimirá y descomprimirá instantáneamente los archivos, lo que solo aumentará la cantidad de CPU sin ningún beneficio.

La -aopción (archivo) implica la opción -r(recursiva), por lo que no es necesario especificarlo explícitamente en la línea de comando.

Puede usar la -nopción (o --dry-run) para verificar su comando. Mostrará lo que haría sin copiar realmente ningún archivo. Para ver realmente qué sucede, también debe usar la -vopción (o --verbose).

Por lo tanto:

rsync -uanv /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

y una vez que esté satisfecho de que los archivos se enumeren correctamente en la ejecución en seco, elimine nv:

rsync -ua --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/
garethTheRed
fuente
3
Como dice en la página de manual, la --dry-runbandera se usa más comúnmente junto con la --verbosebandera
Benjamin Leinweber