rsync 同步过多

rsync 同步过多

我设置了以下 rsync,它应该同步过去一天创建的 CDR 文件。

rsync -av root@vpsrv:'$(find /home/cdrs/*.cdr -type f -ctime -1)' /home/cdrs

但是,如果没有找到文件,则/root出于某种原因,此命令将同步整个目录。我甚至尝试通过添加include=过滤器来阻止这种情况:

rsync -av --include="*.cdr" root@vpsrv:'$(find /home/cdrs/*.cdr -type f -ctime -1)' /home/cdrs

或者甚至搜索 *.cdr:

rsync -av --include="*.cdr" root@vpsrv:'$(find /home/cdrs/*.cdr -type f -ctime -1 | grep *.cdr)' /home/cdrs

但没有运气。你有什么想法吗?

答案1

cd /home/cdrs && find /home/cdrs/*.cdr -type f -ctime -1 | rsync -av --files-from=- (source) (target)

重要的是“--files-from=-”,它要求从 STDIN 传输文件列表。它要求相对于源文件夹的文件名 - 这解释了“cd /home/cdrs”...

相关内容