rsync para copiar arquivos que foram alterados


42

Preciso copiar alguns arquivos de um diretório específico para um local diferente diariamente. Quero copiar apenas as alterações, portanto, planejo usar rsync. Esses arquivos seguem a seguinte convenção de nomenclaturamysql-bin.*

Meu comando tem a seguinte aparência

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

Minha confusão é que, como estou planejando copiar apenas alguns arquivos de um diretório, e não o conteúdo completo do diretório, usei * para copiar apenas os arquivos necessários. Só quero saber se meu comando está correto para conseguir o mesmo.

Respostas:


51

Parece bom. Embora por que você esteja usando a -zopção para compactar a transferência? Essa opção é normalmente usada quando você está copiando para um servidor rsync remoto em uma rede lenta. Nesse caso, ele comprimirá e descompactará instantaneamente os arquivos, o que aumentará apenas o uso da CPU sem nenhum benefício.

A -aopção (archive) implica a opção -r(recursiva), portanto, não há necessidade de especificar explicitamente isso na linha de comando.

Você pode usar a -nopção (ou --dry-run) para verificar seu comando. Ele mostrará o que faria sem realmente copiar nenhum arquivo. Para realmente ver o que acontece, você também deve usar a -vopção (ou --verbose).

Portanto:

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

e quando estiver feliz que os arquivos estejam listados corretamente na execução a seco, remova o nv:

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

3
Como diz na página man --dry-runbandeira é mais comumente usado em conjunto com a --verbosebandeira
Benjamin Leinweber
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.