使用rsync备份数据

首先要做的就是在把需要备份的服务器的公钥传到数据备份服务器上,参考《Linux创建密钥以及上传密钥至目标服务器》来实现。

首先很悲剧的说.并不是实时的备份.实时的备份研究了很久均没有成功.尽管网上教程一堆……
好了.实现的功能是手动利用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
这个也不用解释……请自行Google.
——-
00 00 * * * rsync -aSvH –delete /home/*  root@B机IP:/home/
这个表示00:00执行增量备份.时间自己改.

Leave a Reply

Your email address will not be published. Required fields are marked *