Digamos que tenemos dos hosts producer
y consumer
el siguiente proceso:
producer
agrega archivosregularmentea/some/path
.consumer
tira esos archivos asu propio/some/path
(por ejemplo, a través dersync
) yprocesosa ellos.- Ahora
consumer
necesitamos borrarlos archivos procesados (y sólo los archivos procesados) enambos anfitriones.
¿Se puede lograr (3) con rsync
o un comando equivalente mediante consumer
?
Alternativamente, ¿podemos consumer
eliminar fácilmente los archivos producer
que descarga mientras procesa el paso (2)?
Tenga en cuenta que producer
siempre se están creando archivos y queremos asegurarnos de procesar cada archivo consumer
una vez y solo una vez.
Respuesta1
Puede consumer
utilizar este comando rsync.
rsync -az --remove-source-files user@producer:/some/path/ /some/path/
Luego, cuando se complete el proceso, haga que su consumer
proceso elimine el archivo.
rm -f /some/path/file