先开个头,注意/的使用
假设有 my_src_dir/a
- 把
my_src_dir复制到my_dst_dir,结果:my_dst_dir/my_src_dir/a
rsync -a my_src_dir my_dst_dir
- 把
my_src_dir下的内容复制到my_dst_dir,结果:my_dst_dir/a
rsync -a my_src_dir/ my_dst_dir
my_dst_dir和my_dst_dir/是没区别的
然后,复制的时候想排除某些文件,比如???.txt
rsync -a --exclude='???.txt' my_src_dir/ my_dst_dir
这样,会把全部的???.txt都排除掉,例如a/???.txt和b/???.txt,如果只想排除掉a目录下的,那就把目录写多点
rsync -a --exclude='a/???.txt' my_src_dir/ my_dst_dir
如果目录是下面这样的
my_src_dir/a
my_src_dir/b
my_src_dir/b/a
应该怎么排除a呢,--exclude='a',b/a就没了,--exclude='my_src_dir/a',这样是不生效的,应该写成这样
--exclude='/a'
没错,就是加个/,很多帖子说--exclude要用相对目录,但是也没说怎么个相对,这样测一下就好理解了,相对于
my_src_dir的相对,my_src_dir是/。
526





