Lista de arquivos Rsync lenta - incluindo sequencias secas

1

Eu tenho feito o backup de um servidor através do rsync (v3.0.6) por um tempo. Notei que leva cerca de 20 minutos apenas para obter a lista de arquivos incrementais (estou usando o sinalizador de arquivo inteiro). Estou excluindo três arquivos. Se eu removê-los, levará apenas um segundo para iniciar a sincronização. Existem apenas 319 arquivos (689 se você contar os diretórios que são ignorados). Quaisquer pensamentos ou idéias? Correspondência de padrões não deve ser tão lenta?

rsync -vvnWr --exclude='aaa.tar.gz' --exclude='bbb.tar.gz' -exclude='ccc.tar.gz' --include='*.tar.gz' --exclude='*' --delete -e "ssh -p 34577 -i /root/.ssh/backup_rsa" [email protected]:/backup/cpbackup/daily/ /backup/jarvis/cpanel/$((($(date +\%-d)-1)/7+1))/*

Exemplo de saída

[sender] showing file ddd.tar.gz because of pattern *.tar.gz
[sender] showing file eee.tar.gz because of pattern *.tar.gz
[sender] hiding directory fff.0 because of pattern *
[sender] showing file ggg.tar.gz because of pattern *.tar.gz
...

A saída é a mesma com a nossa sem exclusões, obviamente ela pula as que eu listo. Com exclusões, há longas pausas entre cada uma delas. Eu mudei o IP e os nomes dos arquivos.

Obrigado!

    
por Kyle Eadie 23.04.2018 / 23:20

2 respostas

1

Eu só percebi, devo ter precisado dormir nele. Eu estou faltando um dos hífens em um excluir. Ele deve ter lido isso como parâmetros adicionais sem causar nenhum erro de sintaxe, com o sinalizador de soma de verificação -c sendo o que provavelmente está causando lentidão.

Obrigado a todos pela leitura!

    
por 24.04.2018 / 15:30
0

A principal razão pela qual isso é tão lento é porque você desativou a maioria das otimizações que rsync tem a oferecer. Você está quase no estágio de copiar todos os arquivos incluídos em todas as execuções.

Por quê? Você mandou --whole-file em vez de permitir que rsync gerasse diferenças. Você também não está copiando o registro de data e hora com -t ou -a , portanto, rsync precisa ler cada arquivo nos sistemas local e remoto para determinar se as somas de verificação correspondem.

Tente isso

rsync --dry-run -vvtr \
    --exclude='aaa.tar.gz' --exclude='bbb.tar.gz' -exclude='ccc.tar.gz' --include='*.tar.gz' --exclude='*' \
    --delete --delete-during \
    -e "ssh -p 34577 -i /root/.ssh/backup_rsa" \
        [email protected]:/backup/cpbackup/daily/ \
        /backup/jarvis/cpanel/$((($(date +\%-d)-1)/7+1))/
    
por 24.04.2018 / 00:21

Tags