rsync per copiare i file che sono stati modificati


42

Ho bisogno di copiare alcuni file da una determinata directory in una posizione diversa su base giornaliera. Voglio copiare solo le modifiche, quindi ho intenzione di usarle rsync. Questi file seguono la seguente convenzione di denominazionemysql-bin.*

Il mio comando ha il seguente aspetto

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

La mia confusione è che dal momento che sto pianificando di copiare solo pochi file da una directory anziché il contenuto completo della directory, ho usato * per copiare solo i file richiesti. Voglio solo sapere se il mio comando è corretto per ottenere lo stesso.

Risposte:


51

Sembra a posto. Sebbene perché stai usando l' -zopzione per comprimere il trasferimento? Questa opzione viene normalmente utilizzata quando si esegue la copia su un server rsync remoto su una rete lenta. In questo caso comprime e decomprime istantaneamente i file, aumentando l'utilizzo della CPU senza alcun vantaggio.

L' -aopzione (archivio) implica l'opzione -r(ricorsiva), quindi non è necessario specificarlo esplicitamente sulla riga di comando.

Puoi usare l' -nopzione (o --dry-run) per controllare il tuo comando. Mostrerà cosa farebbe senza copiare alcun file. Per vedere effettivamente cosa succede, dovresti anche usare l' -vopzione (o --verbose).

Perciò:

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

e una volta che sei soddisfatto del fatto che i file siano elencati correttamente in esecuzione a secco, rimuovi nv:

rsync -ua --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

3
Come si dice nella --dry-runbandiera della pagina man è più comunemente usata insieme alla --verbosebandiera
Benjamin Leinweber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.