假设我们有两个主机producer
和consumer
以下进程:
producer
添加文件经常到/some/path
。consumer
将这些文件拉到它自己的/some/path
(例如通过rsync
)和流程他们。- 我们现在
consumer
需要 删除已处理的文件(并且仅已处理的文件)两位主持人。
rsync
(3) 可以通过或等效命令来 完成吗consumer
?
或者,我们可以轻松地删除它在处理步骤 (2) 时下载的consumer
文件吗?producer
请注意,这producer
总是在创建文件,我们希望确保每个文件处理consumer
一次且仅处理一次。
答案1
您consumer
可以使用此 rsync 命令。
rsync -az --remove-source-files user@producer:/some/path/ /some/path/
然后,当该过程完成时,让您的consumer
过程删除该文件。
rm -f /some/path/file