2008.12.25 · 1 分钟阅读
[ubuntu] rsync小技巧
rsync功能很强大,刚开始用的时候有些摸不着头脑。
有个项目的客户用他们的svn服务器提供资料,因此需要一个先checkout到本地,
再同期到服务器的脚本来做这件事。
同期处理自然是用rsync来实现。
尝试的时候发现一些小技巧记录如下。
1) SRC目录后的斜线(/)加和不加的区别
a) rsync -r dir-a dir-b
b) rsync -r dir-a/ dir-b
上面的命令执行后,
a) dir-a(包括自身)的子目录内容全部被拷贝到dir-b下面。
b) dir-a(不包括自身)的子目录内容全部被拷贝到dir-b下面。
2) svn上checkout出来的目录里有许多.svn目录,这些不希望被同期到服务器上。
开始用--exclude的选项来控制,比如 --exclude="**/.svn/**"之类的,结果不管用,
后来经过一番尝试,改用--filter='exclude .svn'就可以了。
有个项目的客户用他们的svn服务器提供资料,因此需要一个先checkout到本地,
再同期到服务器的脚本来做这件事。
同期处理自然是用rsync来实现。
尝试的时候发现一些小技巧记录如下。
1) SRC目录后的斜线(/)加和不加的区别
a) rsync -r dir-a dir-b
b) rsync -r dir-a/ dir-b
上面的命令执行后,
a) dir-a(包括自身)的子目录内容全部被拷贝到dir-b下面。
b) dir-a(不包括自身)的子目录内容全部被拷贝到dir-b下面。
2) svn上checkout出来的目录里有许多.svn目录,这些不希望被同期到服务器上。
开始用--exclude的选项来控制,比如 --exclude="**/.svn/**"之类的,结果不管用,
后来经过一番尝试,改用--filter='exclude .svn'就可以了。