Como especifico uma lista grande de arquivos que preciso sincronizar com o rsync?

1

Eu tenho uma lista de arquivos e destinos que eu preciso sincronizar com o rsync, mas eu não quero rodar o rsync várias vezes para isso (o tempo de conexão é grande devido ao uso do ssh no meu caso).

Exemplo:

   ~/aaa    remote:/~/aaa
   ~/bbb    remote:/~/otherplace/bbb
   …

Como você pode imaginar, a lista é maior e, no meu caso, tenho que executar o mesmo conjunto com vários servidores remotos.

Como posso implementar isso facilmente? Eu quero rsync para iniciar uma vez por servidor.

    
por sorin 13.04.2012 / 13:38

2 respostas

1

Eu fiz uma correção rápida para isso uma vez quando queria colocar esse comportamento em um script rsync existente que só era transferido para uma pasta específica: fiz um catálogo de links simbólicos para essa finalidade em ambos os lados e informei ao rsync para remover os links de referência ( -L ) durante a transferência. Do meu lado, os links foram desreferenciados em seus conteúdos e transferidos para o diretório no lado remoto, onde foram colocados nos links simbólicos que apontavam para os diretórios onde eu os queria.

Esta não é a pior maneira de especificar arquivos para backup. É versátil e facilmente personalizável sem alterar os arquivos de configuração (bem, a estrutura dos symlinks é o arquivo de configuração, de certa forma).

Este exemplo específico não é uma boa solução se você quiser não remover os links de referência para a transferência em certos casos.

    
por 13.04.2012 / 13:51
0

Se ssh é o problema, então talvez você possa acelerar as coisas reutilizando a conexão ssh, coloque isso em ~ / .ssh / config ou algum outro arquivo de configuração ssh relevante:

Host *
  ControlMaster auto
  ControlPath /tmp/%r@%h:%p
    
por 28.04.2012 / 13:29

Tags