rsync: lista de exclusão grande adicionando 10 horas para sincronizar

2

Eu tenho um script de backup rsync rodando em uma caixa do Centos 6 que tem sincronizado ~ 410gb de dados de um servidor local (LAN) através de uma conexão gigabit. Este script é executado de hora em hora e, se não houver novos arquivos para copiar, geralmente leva cerca de 20 minutos para ser concluído.

Implementei um script de eliminação que é executado na caixa Centos e exclui todos os arquivos da cópia de backup local com mais de 1 ano (após algumas verificações) e adiciona esses arquivos a uma lista de exclusão para análise do rsync. Tudo funciona bem, mas demora cerca de 10 horas para ser concluído (sem novos arquivos). Após a limpeza inicial, os dados de origem são agora de cerca de 80 gb e a lista de exclusão é de cerca de 90 MB.

Aqui está minha linha de rsync do script:

rsync -pad $wholefiles  --exclude-from=${exclfile}.combined /mnt/${smbdir}/${drive}/${foldername} /backup/rob/${smbdir}/${drive} >> /var/log/rob/robso.log 2>&1

O rsync (ou bash) tem limitações de tamanho para listas de arquivos? Você consegue ver alguma coisa na minha sintaxe que cause uma quantidade tão grande de tempo de processamento? Agradecemos antecipadamente.

EDIT: A variável $ wholefiles na linha rsync acima passa a opção --whole-file neste caso.

    
por kiwisan 23.08.2013 / 01:03

1 resposta

0

Eu mudaria isso. Em vez de ter rsync excluir um grande número de arquivos, eu não daria esses arquivos para rsync para consideração.

cd "/mnt/${smbdir}/${drive}/${foldername}" &&
    find . -maxdepth 1 -mtime -366 -type f -print0 |
    rsync -a0 --files-from=- . "/backup/rob/${smbdir}/${drive}" >> /var/log/rob/robso.log 2>&1

Eu não tenho certeza se especificando rsync -d ( --dirs ) você pretende que não haja recursão. Se eu entendi errado, remova o -maxdepth 1 .

A opção --whole-file é irrelevante porque sempre será usada aqui, pois rsync vê que está copiando entre duas partes do mesmo sistema de arquivos "local". (Sim, isso significa que seu algoritmo delta está desativado.)

Você pode reduzir o período para o conjunto de arquivos que find considera. Aqui, configurei-o para incluir arquivos que foram modificados apenas nos últimos 366 dias, porque você mencionou a exclusão de arquivos com mais de um ano.

    
por 16.09.2017 / 01:07