我想用相同的结构rsync特定的目录和文件。
例如:-
source/
source/110/var/lib/mysql
source/110/var/lib/mysql
source/110/var/lib/mysql
source/110/home
source/110/bin/
source/110/etc/
source/120/var/lib/mysql
source/120/var/lib/mysql
source/120/var/lib/mysql
source/120/home
source/120/bin/
source/120/etc/如何使用rysnc mysql和主目录以及direcotry中包含的文件到同一个目标文件夹,并具有相同的结构,如下所示:
destination/
destination/110/var/lib/mysql
destination/110/home
destination/120/var/lib/mysql
destination/120/home谢谢
发布于 2012-05-27 10:56:13
你可以用一些花哨的过滤器来做。手册页有一个很好的例子,但是使用最近的rsync (>= 2.6.7),您可以这样做:
rsync -a source/ destination/ \
-f '+ /*/' \
-f '+ /*/home/***' \
-f '+ /*/var/' \
-f '+ /*/var/lib/' \
-f '+ /*/var/lib/mysql/***' \
-f '- *'换句话说,列出要包含在同步中的目录,然后排除所有其他目录。***通配符非常有用,但是如果rsync较旧,则必须用以下两个替换+ /*/home/***筛选器:
-f '+ /*/home/' \
-f '+ /*/home/**' \发布于 2012-05-27 15:27:34
下面是使用过滤器的另一种选择:
cd source && \
rsync -aR 110/var/lib/mysql 110/home 120/var/lib/mysql 120/home destination也就是说,将所有源目录作为参数传递给rsync,然后是目标目录,它们都在一个命令中。在这种情况下,您必须确保使用-R选项,以便在目标中保留源目录路径。
https://serverfault.com/questions/393085
复制相似问题