搜索
Hi~登录注册
查看: 1748|回复: 0

linux的VPS利用rsync实现数据同步

[复制链接]

1892

主题

1899

帖子

6406

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6406
发表于 2016-4-3 16:50:01 | 显示全部楼层 |阅读模式
首先,要安装rsync
  1. yum install rsync
复制代码
安装完以后,在源机(也就是服务器端)上传服务端控制脚本
下载 rsync-server.zip 文件,解压后,上传到/etc目录,需要设置4个地方:
1.设置 /etc/rsyncd/rsyncd.conf 中的源机(服务器端)IP(第7行)为您VPS的IP(即替换111.111.111.111)
  1. address = 111.111.111.111
复制代码


2.设置 /etc/rsyncd/rsyncd.conf 中允许同步的备份机(即客户端)IP(第20行),多IP用空格隔开:(即把222.222.222.222换成用来备份的机器的ip)
  1. hosts allow=222.222.222.222
复制代码
3.设置 /etc/rsyncd/rsyncd.conf 中的需要同步的目录(第35行)
  1. path = /home/wwwroot
复制代码
4.设置 /etc/rsyncd/rsyncd.secrets 中用户名及密码,并用命令给予600权限
  1. chmod 600 /etc/rsyncd/rsyncd.secrets
复制代码
设置完成后,在源机启动服务
  1. /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
复制代码
设置开机自启动
  1. chkconfig rsync on
复制代码
配置备份机(客户端)
下载 rsync-root.zip 文件,解压后,上传至/root目录中:
1.设置rsync密码/root/pass文件(无须用户名),与服务器端一至,并给予600权限,命令:
  1. rsync -avzP --delete  --password-file=/root/pass vpsmmuser@111.111.111.111::vpsmmhome /home/wwwroot
  2. #其中vpsmmuser为服务器端/etc/rsyncd/rsyncd.secrets中用户名
  3. #其中111.111.111.111为服务器端IP
  4. #其中vpsmmhome为/etc/rsyncd/rsyncd.conf中34行自定义命名
  5. #其中/home/wwwroot为需要同步的网站目录
复制代码
  1. chmod +x /root/rs.sh
复制代码
设置定时执行
  1. crontab -e
复制代码
  1. 25 */1 * * * /root/rs.sh
  2. //每个小时的第25分钟自动运行一次
  3. 25 04 */1 * * /root/rs.sh
  4. //每天的25分04时自动运行一次
复制代码
常见错误解答
1.服务器端/etc/rsyncd/rsyncd.secrets和备份端/root/pass,均需要600权限
2.可以手动执行/root/rs.sh,看是否能够同步成功
3.切记,此同步是数据完全同步,会删除掉备份端有,而服务器端没有的文件
4.此为增量备份,只同步修改过或没有的文件,原有文件不会下载,很节省时间和流量
如果没有开启873端口,使用如下命令
  1. iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT
复制代码

还有不用脚本的办法:
  1. rsync -rvtz root@192.168.0.1:/home/ftp /home/ftp
复制代码
上面这是增量备份的脚本
说明
rsync -rvtz [登陆账号]@[登陆机器ip]:[要备份的目录] [本机的存放备份文件的目录]

例子:
rsync -rvtz root@192.168.1.1:/root/software /root/back_data/

还有一种是镜像办法
  1. rsync -rvtz --delete root@192.168.0.1:/home/ftp /home/ftp
复制代码
这个是源端删,备份用机也会删。
执行这个任务可以设置免密码登陆。不过需要在2个服务器间配置。
第一步:
在备份机执行
  1. ssh-keygen
复制代码
然后一路回车第二步:
  1. ssh-copy-id -i ~/.ssh/id_rsa.pub 源机IP
复制代码
然后输入源机密码,输入完回车即可。
如果出现
  1. Now try logging into the machine, with "ssh '这里是你源机IP'", and check in:
  2. .ssh/authorized_keys
  3. to make sure we haven't added extra keys that you weren't expecting.
复制代码
就说明成功了
公众微信:idc5ahl
公众QQ:吾爱互联
关注公众微信,公众QQ每天领现金卡密
卡密介绍(http://www.5ahl.com/thread-2182-1-1.html
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 点我注册

快速回复 返回顶部 返回列表