删除与本地文件匹配的远程文件,或在下载文件时删除文件

删除与本地文件匹配的远程文件,或在下载文件时删除文件

假设我们有两个主机producerconsumer以下进程:

  1. producer添加文件经常/some/path
  2. consumer将这些文件拉到它自己的 /some/path(例如通过rsync)和流程他们。
  3. 我们现在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

相关内容