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

  • apenas copie arquivos do servidor, não retire nenhum deles.
  • copie arquivos que não existem. Se o arquivo remoto for mais recente , não quero copiá-lo
  • tê-lo automático. Isso solicita minha senha toda vez e eu gostaria que ela fosse executada pelo cron. Então, como eu o executo em um script bash executado pelo cron?
isaaclw
fonte
Para "tê-lo automático", a --password-fileopção forneceria a senha ao prompt do servidor. O arquivo deve conter apenas a senha em texto sem formatação e não permitir que outros usuários tenham acesso de leitura.
precisa saber é o seguinte

Respostas:

5

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

Ponto 3: Este tutorial deve ajudá-lo a usar o ssh sem senha com o rsync. Resumo: configure o ssh sem senha e use '-e ssh' para instruir o rsync a usar ssh em vez de rsh para conectar-se ao host remoto.

pjz
fonte
Olhei para o homem e não consigo descobrir o que me permitirá copiar apenas novos arquivos e não atualizar.
1

Para a segunda parte, como o pjz respondeu o restante, acredito que você possa usar a opção --ignore-existente para obter apenas novos arquivos.

Em http://www.samba.org/ftp/rsync/rsync.html :

Isso diz ao rsync para ignorar a atualização de arquivos que já existem no destino (isso não ignora os diretórios existentes ou nada seria feito). Veja também --existing. Esta opção é uma regra de transferência, não uma exclusão, portanto, não afeta os dados que entram nas listas de arquivos e, portanto, não afeta as exclusões. Apenas limita os arquivos que o receptor solicita que sejam transferidos.

Essa opção pode ser útil para aqueles que fazem backups usando a opção --link-dest quando precisam continuar uma execução de backup interrompida. Como uma execução --link-dest é copiada para uma nova hierarquia de diretórios (quando usada corretamente), o uso de --ignore existente garantirá que os arquivos já manipulados não sejam aprimorados (o que evita uma alteração nas permissões no diretório arquivos com links físicos). Isso significa que esta opção está apenas visualizando os arquivos existentes na própria hierarquia de destino.

runlevelsix
fonte