包括exlude文件夹中的特定文件

时间:2017-06-20 08:03:37

标签: linux bash sh rhel

我使用rsyn将文件夹从源复制到desination

我能够成功使用

$  rsync -av --exclude='*/deploy/scb_pdm/*' --exclude='*/logs/*'  $COPY_SRC_DIR  $COPY_DEST_DIR
server-4.5.0/conf/wrapper.conf
server-4.5.0/deploy/
server-4.5.0/deploy/scb_pdm/
server-4.5.0/deploy/scb_pdm/director.properties
server-4.5.0/deploy/scb_pdm/ocollate_static.madconfig
server-4.5.0/lib/
server-4.5.0/lib/blue-marble-4.5.0.201511121524.jar

现在我被卡住了,我怎么能只排除

server-4.5.0/deploy/scb_pdm/ocollate_static.madconfig

1 个答案:

答案 0 :(得分:0)

我将从rsync的通用用法开始,以排除目录。

为了达到这个目的,你需要使用--exclude标志。

rsync -arv --exclude cache/ your_src_dir/ your_dest_dir/

根据您的情况,这将排除ocollate_static.madconfig的特定文件。

rsync -arv --exclude='*/deploy/scb_pdm/ocollate_static.madconfig*' --exclude='*/logs/*'  $COPY_SRC_DIR  $COPY_DEST_DIR

您可以考虑使用另一个

标志
--delete-excluded       also delete excluded files from dest dirs

另一个选项,同时排除多个文件和目录。

$ rsync -avz --exclude your_file1.txt --exclude dir3/file4.txt source/ destination/

有关在rsync中使用排除的详细信息。