单向同步并跳过Linux

时间:2016-11-02 17:56:56

标签: linux synchronization iteration rsync

我有一个文件夹“Source”,结构如下

Source
----Folder1
        ----Subfolder1
----Folder2
        ----subfolder2
        ----private
----Folder3
        -----subfolder4
                     ----subsubfolder4
        -----private

我正在编写一个linux bash文件,用于将在这些子目录中找到的任何文件移动到新的目标文件夹“Destination”,如果未在目标中创建文件夹树,则创建文件夹树。

到目前为止,我的代码正在完成这项工作,并在两个文件夹中保留目录树,并在复制后删除源文件

cd /Source/
find * -iname "*.*" -type f -print0 | xargs -0 -I '{}' /usr/bin/rsync -avR --remove-source-files "{}" /Destination/

我的问题是我不希望代码复制任何名为“private”的文件夹中的文件,或者在“Destination”中创建私人文件夹本身。我只是想在它遇到它时跳过私人文件夹。

任何想法

1 个答案:

答案 0 :(得分:0)

您可以使用rsync <options> --exclude private跳过文件夹“private”及其内容的所有出现。