Скажем, у нас есть два producer
и consumer
а также следующий процесс:
producer
регулярно добавляет файлы в /some/path
. consumer
вытаскивает эти файлы в свой собственный /some/path
(например, через rsync
) и обрабатывает их. consumer
удалял обработанные файлы (и только обработанные файлы) на обоих хостах. Можно ли (3) выполнить с помощью rsync
или эквивалентную команду consumer
?
В качестве альтернативы, можем ли мы иметь consumer
легко удалять файлы от producer
которые он загружает, когда он обрабатывает этап (2)?
Обратите внимание, что producer
всегда создает файлы, и мы хотим, чтобы каждый процесс обрабатывался каждый раз и только один раз.
На consumer
вы можете использовать эту команду rsync.
rsync -az --remove-source-files user@producer:/some/path/ /some/path/
Затем, когда процесс завершен, ваш consumer
процесс удалит файл.
rm -f /some/path/file