centos下快速的复制文件(tar+sync组合)

作者:阿川 发布时间:June 12, 2014 分类:服务器

今天一个客户的VPS自检之后,使用fsck修复.丢了一些很重要的文件,幸好在修复之前做过一系列的备份.幸运的是文件依然存在.但是文件是以快照的方式存在于母服务器里面.所以需要将客户的数据复制到丢掉数据的VPS里面,但是由于客户是小说站.里面有大约60万个文件需要复制,普通情况下使用cp命令可能需要太长太长的时间,因此..俺们想到了使用tar与rsync来同时折腾.
第一步,肯定是先将文件复制过去.SSH到终端.直接执行

(cd /data; tar cf - .) | (cd /home/wwwroot; tar xpf -)

通常情况下.这样复制很有可能会因为某些错误丢失掉一些文件,但是我们又不知道是哪个文件丢失了,这时候rsync就排上用场了
木有安装rsync的童鞋可以执行
yum install rsync

来安装rsync.之后执行
cd /dst; rsync -avPHSx --delete /src/ .

rsync的参数解释:
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-v, --verbose 详细模式输出
-P 等同于 --partial
--保留那些因故没有完全传输的文件,以是加快随后的再次传输
-H, --hard-links 保留硬链结
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间
-x, --one-file-system 不要跨越文件系统边界