Rsync para confirmar a transferência/mv depois que tudo for salvo localmente

Rsync para confirmar a transferência/mv depois que tudo for salvo localmente

Existe uma maneira de sincronizar novamente uma pasta para uma pasta de servidor removida, mas mover tudo somente após a conclusão de toda a transferência?

Não quero que os arquivos sejam movidos um após o outro, porque isso causaria problemas no servidor da Web em execução.

Prefiro que a pasta completa seja movida depois que tudo for transferido no servidor (o que leva cerca de 1s)

Responder1

Você está procurando o--delay-atualizaçõesopção. De man rsync:

   --delay-updates
          This  option puts the temporary file from each updated file into
          a holding directory until the end of the transfer, at which time
          all  the files are renamed into place in rapid succession.  This
          attempts to make the updating of the files a little more atomic.
          [...]
          See  also the "atomic-rsync" perl script in the "support" subdir
          for an update algorithm  that  is  even  more  atomic  (it  uses
          --link-dest and a parallel hierarchy of files).

Responder2

A maneira mais segura é fazer com que o rsync coloque os arquivos em um diretório alternativo fora do docroot do servidor web. Em seguida, altere a configuração dos servidores para apontar o docroot para a nova pasta e sinalizar ao servidor web para executar uma"gracioso"recarregar sua configuração. Com o Apache isso deve garantir que nenhuma solicitação seja mal tratada ou descartada.

O USR1 ou sinal gracioso faz com que o processo pai aconselhe os filhos a sair após a solicitação atual (ou a sair imediatamente se não estiverem servindo nada). O pai relê seus arquivos de configuração e reabre seus arquivos de log. À medida que cada filho morre, o pai o substitui por um filho da nova geração da configuração, que começa a atender novas solicitações imediatamente.

Em outras palavras, eu automatizaria isso usando um script de shell e ssh em vez de tentar encontrar opções de rsync para gerenciar seu servidor web.

informação relacionada