我一直在尝试按如下方式运行 rsync;
rsync -av --exclude '/home/joe/VirtualBox*' /dst
其中 VirtualBox* 表示目录 'VirtualBox VMs' 下的所有文件和目录
但是,它没有显示我如何指定此--exclude
选项,rsync 尝试备份“VirtualBox VMs”目录下的所有内容。
尝试使用--exclude=
,--exclude={ }
但结果是一样的。
知道我在这里做错了什么吗?
答案1
exclude
rsync 选项适用于相对的路径不绝对所以对于你的例子,下面的代码就可以工作:
rsync -avz --exclude 'directory' source_directory/ destination_directory/
在这个通用的例子中,你可以看到--exclude 'directory'
假设这directory
是一个子目錄的source_directory
。
我已经包含了-z
rsync 行的选项,压缩可以稍微提高速度......
笔记:
- 如何使用 Rsync 排除文件和目录:这个页面让我最终理解了
--exclude
rsync 的选项:)
答案2
我需要一个带有多个参数的排除项。经过多次尝试和错误,我发现:
EXCLUDE='--exclude=/home/myname/VirtualBox*VMs/'
...然后可以正确排除“VirtualBox VM”
rsync -autH .... $EXCLUDE ...
尚不清楚规则...