Rsync排除正确的语法

问题描述 投票:0回答:1

我想使用rsync将目录从远程计算机复制到本地,但没有一些内部文件夹。

我正在使用此命令:

rsync -rave --exclude 'js' --exclude 'css' --exclude 'fonts' root@{IP}:/rem_dir1/rem_dir2/public /local_dir1/local_dir2/public

但结果是:

Unexpected remote arg: root@{IP}:/rem_dir1/rem_dir2/public
rsync error: syntax or usage error (code 1) at main.c(1361) [sender=3.1.2]

我确定远程root是正确的。所以问题在于rsync命令语法。

使用rsync排除多个文件夹的正确方法是什么?

例如,我们有/public文件夹,其中包含dir1dir2dir3dir4dir5。如何从dir1只复制dir2/public

rsync
1个回答
0
投票

和你的另一个问题一样,-rave毫无意义。你只想要-av

您可以使用include和exclude命令,但只复制两个目录的最简单方法就是列出它们:

rsync -av \
    root@{IP}:/rem_dir1/rem_dir2/public/dir1 \
    root@{IP}:/rem_dir1/rem_dir2/public/dir2 \
    /local_dir1/local_dir2/public/

其中\只是行继续(所以我可以包装长行),我故意只将/添加到目标路径的末尾,而不是源路径。

© www.soinside.com 2019 - 2024. All rights reserved.