rsync copia apenas novos arquivos, sem atualizações?

10

Eu gostaria de usar o rsync para copiar arquivos de um servidor remoto. Eu gostaria de

  • copie apenas arquivos do servidor, não envie nenhum recuo.
  • copia arquivos que não existem. Se o arquivo remoto for mais recente, não quero copiá-lo
  • tenha automático. Isso me pede a minha senha toda vez e eu gostaria que fosse executado pelo cron. Então, como posso executá-lo em um script bash executado pelo cron?
por isaaclw 13.07.2010 / 22:08

2 respostas

5

Pontos 1 e 2: Como especificar o que copiar é melhor respondido lendo a página de manual do rsync. No seu caso, olhe especialmente para o sinalizador --ignore-existing.

Ponto 3: Este tutorial deve fazer você usar o ssh sem senha com o rsync. Resumo: configure o ssh sem senha e use '-e ssh' para dizer ao rsync para usar o ssh ao invés do rsh para se conectar ao host remoto.

    
por 13.07.2010 / 22:12
1

Para a segunda parte, já que o pjz respondeu o resto, acredito que você pode usar o switch --ignore-existing para obter somente novos arquivos.

De link :

This tells rsync to skip updating files that already exist on the destination (this does not ignore existing directories, or nothing would get done). See also --existing. This option is a transfer rule, not an exclude, so it doesn't affect the data that goes into the file-lists, and thus it doesn't affect deletions. It just limits the files that the receiver requests to be transferred.

This option can be useful for those doing backups using the --link-dest option when they need to continue a backup run that got interrupted. Since a --link-dest run is copied into a new directory hierarchy (when it is used properly), using --ignore existing will ensure that the already-handled files don't get tweaked (which avoids a change in permissions on the hard-linked files). This does mean that this option is only looking at the existing files in the destination hierarchy itself.

    
por 13.07.2010 / 22:30

Tags