Está usando o rsync enquanto a origem está sendo atualizada com segurança?

17

É seguro usar rsync quando o sistema de arquivos fonte está montado e gravável, assumindo que ele pode muito bem ser modificado enquanto o rsync está rodando? Eu presumo que, sob condições de corrida, posso não receber as últimas modificações, mas há algum risco de corrupção?

    
por brianmearns 11.09.2013 / 15:22

1 resposta

18

Usar rsync é bastante seguro em sistemas de arquivos montados em leitura / gravação. Quando rsync é iniciado, ele cria uma lista de arquivos e, em seguida, começa a copiar esses arquivos. Esta lista de arquivos não está sendo atualizada durante a execução. Os dados reais são então copiados.

Isso significa que quando um arquivo é alterado após rsync construiu a lista de arquivos, ele copiará o conteúdo novo . No entanto, quando um novo arquivo é adicionado depois que rsync construiu sua lista de arquivos, esse novo arquivo não é copiado. Se um arquivo for excluído após rsync ter criado a lista de arquivos, o rsync irá avisar que não foi possível copiar o arquivo. Lembre-se de que rsync não é um instantâneo, isso significa que é difícil saber em que ponto do tempo rsync copiou os dados.

Os instantâneos do sistema de arquivos ou do gerenciador de volume (por exemplo, usando ZFS ou LVM), por outro lado, são criados instantaneamente e são um instantâneo consistente do sistema de arquivos em um ponto definido no tempo que pode ser copiado para outro host. rsync não oferece esse tipo de consistência.

EDIT: Como outros apontaram nos comentários, há uma chance de que rsync possa realmente corromper seu arquivo. Quando o rsync começa a ler um arquivo e um aplicativo está gravando esse arquivo ao mesmo tempo, você pode acabar com um arquivo corrompido.

    
por 11.09.2013 / 15:42