Digamos que temos dois hosts producer
e consumer
o seguinte processo:
producer
adiciona arquivosregularmentepara/some/path
.consumer
puxa esses arquivos parapróprio/some/path
(por exemplo, através dersync
) eprocessoseles.- Precisamos
consumer
agora excluiros arquivos processados (e apenas os arquivos processados) emambos os anfitriões.
(3) pode ser realizado com rsync
um comando equivalente por consumer
?
Alternativamente, podemos consumer
excluir facilmente os arquivos producer
baixados enquanto processa a etapa (2)?
Observe que producer
estamos sempre criando arquivos e queremos ter certeza de que processaremos cada arquivo consumer
uma vez e apenas uma vez.
Responder1
Em consumer
você pode usar este comando rsync.
rsync -az --remove-source-files user@producer:/some/path/ /some/path/
Então, quando o processo for concluído, faça com que seu consumer
processo exclua o arquivo.
rm -f /some/path/file