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