Удалять удаленные файлы, соответствующие локальным файлам, или удалять файлы по мере их загрузки.

Удалять удаленные файлы, соответствующие локальным файлам, или удалять файлы по мере их загрузки.

Допустим, у нас есть два хоста producerи consumerследующий процесс:

  1. producerдобавляет файлырегулярнок /some/path.
  2. consumerтянет эти файлы всвой собственный /some/path(например, через rsync) ипроцессыих.
  3. Теперь нам 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

Связанный контент