o algoritmo delta do rsync funciona em um compartilhamento de samba?

5

Eu tenho um cron job para usar o rsync para sincronizar os dados em um compartilhamento de samba do windows (que eu montei usando / etc / fstab na inicialização). Meu problema é que a transferência parece demorar quase tanto quanto a transferência inicial. Eu tenho uma tonelada de arquivos, então eu acho que ainda tem que inspecionar cada um para as mudanças, mas deve ser um pouco mais rápido na segunda vez? Acabei de usar o comando assim:

rsync -aver ssh /mnt/winserver/d/www /path/to/disk/rsync-backup/

onde / mnt / winserver é um compartilhamento cifs montado e / path / to / disk é meu espaço em disco local.

    
por Lactose 10.04.2012 / 22:19

1 resposta

8

O importante é lembrar que o algoritmo delta é mais útil quando o servidor rsync está em execução no sistema remoto e o cliente está no sistema local.

Quando decidir que precisa transferir um arquivo grande porque a saída stat () é diferente (tamanho, datas de modificação), algum processo de rsync precisará ler os arquivos de origem e de destino. Se você tiver os arquivos remotos montados, o processo em execução no sistema local lerá todo o arquivo na rede. Se você estiver se conectando a um daemon rsync no sistema remoto, o processo de rsync remoto lerá os arquivos, e o algoritmo será empregado para decidir quais blocos precisam ser atualizados e somente as diferenças cruzarão a rede.

Por que é lento, pode haver muitas razões. Se a sua seleção de arquivos era basicamente um grande número de arquivos pequenos, a quantidade de tempo que você precisava para transferir pode ser irrelevante, e você está aguardando que stat () seja concluído.

Se você estiver executando o SMB em uma conexão wan, poderá encontrar o problema de SMB padrão sobre links de alta latência.

Você pode querer verificar a configuração de um servidor SSH na sua caixa do Windows que possa executar o rsync. Não é mais livre, mas geralmente uso o CopSSH / cwRsync.

    
por 10.04.2012 / 22:29