rsync

Published on June 23, 2013.

rsync é um programa de sincronização de arquivos locais ou remotos. A seguir algumas dicas.

Sincronização

Para a sincronização entre duas pastas podemos utilizar:

$ rsync -zvr /caminho/da/pasta/de/origem /caminho/da/pasta/de/destino

Arquivamento

Para preservar informações dos arquivos a serem sincronizados precisamos utilizar:

$ rsync -azv /caminho/da/pasta/de/origem /caminho/da/pasta/de/destino

Preservando arquivos

Ao sincronizar arquivos não desejamos sobrescrever os arquivos no destino se estes tiverem sido modificados. Nesse caso devemos utilizar:

$ rsync -azvu /caminho/da/pasta/de/origem /caminho/da/pasta/de/destino

Removendo arquivos

Após a primeira sincronização, é possivel de você remover um arquivo na origem e desejar que o mesmo seja removido no destino. Para isso:

$ rsync -azv --delete /caminho/da/pasta/de/origem /caminho/da/pasta/de/destino

Atualização apenas

Após a primeira sincronização, é possível que você deseje apenas atualizar os arquivos criados na sincronização anterior, i.e., ignorar os novos arquivos criados. Para isso:

$ rsync -azv --existing /caminho/da/pasta/de/origem /caminho/da/pasta/de/destino

Filtro

É possível filtrar os diretórios a serem sincronizados. :

$ rsync -azv --include /regex/ --exclude /regex/ /caminho/da/pasta/de/origem /caminho/da/pasta/de/destino

Diretórios

Uma parte importante do rsync é a criação ou não da pasta raiz. A melhor forma de deixar isso claro é por meio de exemplos. Para iniciar consideremos:

$ rsync -azv /caminho/do/arquivo/de/origem /caminho/da/pasta/de/destino/

Esse comando irá copiar /caminho/do/arquivo/de/origem para o diretório dentro do diretório /caminho/da/pasta/de/destino.

Se ao invés de um arquivo informarmos um diretório, como em:

$ rsync -azv /caminho/da/pasta/de/origem /caminho/da/pasta/de/destino

O diretório /caminho/pasta/de/origem e seus arquivos serão copiados para dentro da pasta /caminho/da/pasta/de/destino. Se existir uma barra, /, ao final da origem, e.g., :

$ rsync -azv /caminho/da/pasta/de/origem/ /caminho/da/pasta/de/destino

será copiado apenas os arquivos dentro de /caminho/da/pasta/de/origem.

Referências

Tags: