首页 » VPS 知识 » 浏览内容

利用rsync在两台服务器之间定期同步数据


2012-06-17 09:19:10 1,704 0 发表评论 字体: 作者:C.K.

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

首先,在两台服务器A和B同时装上rsync。

centos:yum install rsync -y

debian:apt-get install rsync -y

这里我们假设B是备份服务器,A上所有的改动都同步到B上去.

在A上输入 ssh-keygen。命令(一路回车):

ssh-keygen

输入ssh-keygen将会显示如下结果

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
d7:15:ad:ff:37:99:4b:c8:01:20:b2:8b:1a:2b:2d:1f root@030.homezz.com
The key’s randomart image is:
+–[ RSA 2048]—-+
| . . . .. |
| o . . ..|
| . . .. |
| . . …. |
| . . . S . .. . |
| .+ . . o .|
|ooE o .+|
|.o . .+o|
| . .+|
+—————–+

我们将创建好的公钥上传到B服务器,命令如下

scp /root/.ssh/id_rsa.pub root@B的ip:/root/.ssh/_pub

提示的时候输入密码,该文件即上传到了B服务器。

ssh登陆到B服务器,运行命令 cat /root/.ssh/_pub>>/root/.ssh/authorized_keys

在B服务器中,打开ssh配置文件 vim /etc/ssh/sshd_config,删除 #PubkeyAuthentication yes 这行前面的#

重启sshd: service sshd restart

现在,从A服务器 ssh root@Bip 看看是否可以无密码登陆了?如果上面步骤无误的话,是肯定可以无密码登陆了

现在在A服务器上开始运行rsync做一次数据同步

/usr/bin/rsync -rvuog /www/* root@B的ip:/www/

这样就会将A /www/ 下的所有文件,同步到B服务器的/www/下,第一次运行时间会很久。如果A上有文件不存在了,你同步的时候也需要B服务器上的文件也同时删除掉,那么参数添加一个 –delete

/usr/bin/rsync -rvuog –delete /www/* root@B的ip:/www/

第一次同步完毕之后,在A服务器上创建一个cronjob,定期执行同步。

命令为crontab -e,

然后输入

0 */12 * * * /usr/bin/rsync -rvuog –delete /www/ root@B的ip:/backup/file.homezz.com/ >/dev/null 2>&1

表示12小时同步一次。

注意,若你数据量过大,不建议同步周期太频繁,否则会导致不可预料的错误。个人觉得12小时或者6小时比较合适

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今5012 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2018-8-31 17:57:04
    • 您是本站第 13942312 位访客

    广告区 Guǎng Gào