- 可以镜像保存整个目录树和文件系统。
- 可以很容易做到保持原来文件的权限、时间、软硬链接等等。
- 无须特殊权限即可安装。
- 优化的流程,文件传输效率高。
- 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
- 支持匿名传输。
rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输。rsync中一项与其他大部分类似程序或协定中所未见的重要特性是镜像是只对有变更的部分进行传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。
首先保证旧VPS和新VPS安装同样的发行版本且同为32bit或64bit,在同步之前最好先关闭mysql和http之类的服务。
首先创建新VPS上创建一个无需同步的列表exclude.txt:
cat >>/exclude.txt<<EOF /etc/fstab /etc/securetty /boot /etc/inittab /etc/sysconfig/network-scripts /proc /lib/modules/ /sys /etc/grub.conf /etc/sysconfig/networking /etc/sysconfig/network-scripts /etc/sysconfig/network /etc/ssh/sshd_config EOF
然后在新VPS上运行如下命令开始同步(假设旧VPS的IP地址为11.22.33.44):
rsync -azv -e ssh --exclude-from=/exclude.txt [email protected]:/ /
然后输入旧VPS的root密码即可