2016-11-02 2 views
0

У меня есть папка «Source» со следующей структуройOne Way синхронизация и пропустить определенную папку в Linux

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

Я пишу файл линукс Баша, чтобы переместить любой файл, найденный в этих подкаталогах в новое место папку «Destination» и создать дерево папок, если оно не создано в пункте назначения.

Пока мой код делает работу и резервирует дерево каталогов в обеих папках и удаляя исходный файл после копирования

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

Моя проблема заключается в том, что я не хочу код, чтобы скопировать любой файл, расположенный в любую папку с именем «частный» или создать собственную папку в «Destination». Я просто хочу пропустить папку, которая будет закрыта всякий раз, когда это произойдет.

Любая идея

ответ

0

Вы можете использовать rsync <options> --exclude private, чтобы пропустить все вхождения в папку «частной» и его содержание.

Смежные вопросы