CentOS下用rsync实现双机增量备份(非实时)
首先很悲剧的说.并不是实时的备份.实时的备份研究了很久均没有成功.尽管网上教程一堆……可是对于我这个菜鸟来说太难了……
好了.实现的功能是手动利用rsync增量备份另外一个VPS的网站数据到本地的VPS上.实现了这个可以利用crontab来定时增量备份的.

-------
rysnc 是一个数据镜像及备份工具.具有可使本地和远程两台主机的文件.目录之间.快速同步镜像.远程数据备份等功能.在同步过程中.rsync是根据自己独特的算法.只同步有变化的文件.甚至在一个文件里只同步有变化的部分.所以可以实现快速的同步数据的功能.
下面所讲的简单的rsync同步方法.依赖于SSH服务.一般rsync.ssh软件包都会默认安装的.检查方法:rpm -qa|grep -i rsync
-------
假设A机器是网站服务器.B机器是备份服务器.
-------
首先安装rsync
yum -y install rsync
-------
两台机器做个ssh信任.省去每次输入密码.
两台机器都操作一次.
ssh-keygen -t rsa
创建证书
scp /root/.ssh/id_rsa.pub root@目标机器:/root/.ssh/authorized_keys
把公匙传到目标机器的/root/.ssh
然后双机互相验证一下用ssh登陆.是否不需要输入密码.如果不用则建立成功.
-------
第一种方法.在A机器上执行命令:
rsync -aSvH /home/* root@B机IP:/home/
上面这个表示将本机的/home目录下所有的文件.同步到B机器的/home目录下.
上面绿色标记是源文件位置.蓝色标记是目的位置.
-------
第二种方法.在B机器上执行命令:
rsync -aSvHroot@A机IP:/home/* /home/
上面这条表示.将远程机器A机器上的/home目录下所有的文件.同步到本地的/home目录下.同步的时候注意源和目的.
上面绿色标记是源文件位置.蓝色标记是目的位置.
-------
参数解释:
a 等同于-rlptgoD归档模式.就是保持文件所有属性.权限不变.
S 有效的处理零散文件.
v verbose模式.
H 保持hard links.
-------
如果想每次同步之后.两边的文件保持一致.需要添加参数--delete.添加这个参数时.一定要注意测试.否则会造成严重后果.删除了数据.
使用--delete参数后上面两条命令将变成:
第一种方法.在A机器上执行命令:
rsync -aSvH --delete /home/* root@B机IP:/home/
第二种方法.在B机器上执行命令:
rsync -aSvH --delete root@A机IP:/home/* /home/
-------
我们也可以利用crontab来定时执行这条命令
crontab -e
这个也不用解释……请围观crontab使用详解
-------
00 00 * * * rsync -aSvH --delete /home/* root@B机IP:/home/
这个表示00:00执行增量备份.时间自己改.如何改请围观上面的.
-------
完了.

转自:http://www.lasteleven.com/Eleven/centos-using-rsync-to-achieve-double-the-next-incremental-backup-non-real-time/

最后修改:2011 年 01 月 01 日 09 : 28 PM