Estou me perguntando se é seguro usar várias instâncias de rsync com a mesma linha de comando para fazer backup do mesmo diretório no servidor local para o mesmo diretório no servidor remoto. basicamente, se eu executasse o comando abaixo 3-4 vezes em paralelo, isso ajudaria a acelerar as coisas? O servidor de recebimento está usando o rsyncd.
rsync -av /home/directory/ [email protected]::Home
Responder1
Você pode dividi-lo em vários comandos, excluindo ou incluindo especificamente diretórios, mas executar o mesmo comando várias vezes resultará em uma bagunça (especialmente com os arquivos temporários do rsync).
Responder2
A partir da versão > 3.0.5 (talvez versões anteriores) você pode usar os parâmetros --include, --exclude.
Tomado o exemplo deaquivocê poderia fazer algo nesse sentido:
Supondo que directory_a
haja 2.000.000 de arquivos abaixo dele. e directory_b
também possui 2.000.000 de arquivos, a execução de 2 processos rsync separados acelera todo o procedimento em detrimento dos ciclos de CPU.
rsync -av --include="/directory_a*" --exclude="/*" --progress remote::/ /localdir/ > /tmp/myoutputa.log &
rsync -av --include="/directory_b*" --exclude="/*" --progress remote::/ /localdir/ > /tmp/myoutputb.log &
De acordo comfonteesta abordagem acelera a sincronização em aproximadamente 50%
Responder3
'Rsync' já é conhecido por acelerar a transformação, transferindo a parte seletiva e necessária daquele arquivo ou diretório específico. Usar o comando mencionado 3-4 vezes em paralelo depende totalmente de quantos recursos foram concedidos para sua conta de hospedagem na web, mas uma coisa é certa: haveria mais carga criada no servidor, então eu sugiro que você não vá por isso.