Se sua origem e destino estiverem em sistemas separados, com um cliente rsync
conversando com um servidor rsync
(de qualquer tipo), as permissões e os registros de data e hora serão atualizados sem uma transferência de conteúdo de dados. Por exemplo:
rsync -avP --existing server:/path/to/source /path/to/target
rsync -avP --existing server::module /path/to/target
Por outro lado, se a origem e o destino forem gerenciados pelo mesmo processo rsync
, como quando o sistema de arquivos do servidor for acessível via NFS, não haverá uma maneira eficiente de confirmar se os dados são os mesmos. em ambos os casos, ele abandona seus atalhos e simplesmente copia os dados com as permissões e registros de data e hora corrigidos. Por exemplo:
rsync -avP --existing /path/to/server/source /path/to/target
Se você tiver este segundo cenário e tiver absoluta certeza de que o conteúdo do arquivo é idêntico, há uma solução alternativa que forçará rsync
a assumir que o conteúdo é o mesmo - mesmo que sua "verificação rápida" falhe - e apenas atualize as permissões e o timestamp:
rsync -avP --existing --size-only /path/to/server/source /path/to/target
O sinalizador -existing
garante que nenhum arquivo novo seja criado no local de destino, mas que os arquivos existentes sejam atualizados adequadamente.