开发者社区> shy丶gril> 正文

CentOS5.6下配置rsync内网同步数据到外网

简介:
+关注继续查看
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/913068

一、需求

卫士那边有一个需求,就是要把一台内网服务器的数据同步到外网的一台服务器上,之前我用的是rsync+intify-tool+ssh实现的实时同步更新,前几天我还在东莞出差,开发的人给我打电话说这两台服务器的数据不同步了,我上去检查一遍,原来是用来同步数据的这个系统账号被北京的同事修改,ssh免密码登陆失败了,所以数据同步不了,后来想想这样在系统开着个单用户用来同步数据确实是存在安全风险,我有具体和开发的沟通了一下,这个项目的数据同步也不是那么的需要实时同步,所以现在我要改成单用rsync同步,具体步骤如下:

二、环境

内网:10.20.220.247

同步目录1:/data/appsdata/softmgr-v3/static-file/update

同步目录2:/data/appsdata/softmgr-v3/static-file/v1_0

外网:114.112.36.X

同步目录1:/data/apps/ksoftmgr/ksafe/client/update

同步目录2:/data/apps/ksoftmgr/ksafe/client/v1_0

三、安装配置

1.服务器端(114.112.36.69)

A、[root@localhost ~]# yum -y install rsync xinetd

B、[root@localhost ~]# vi /etc/xinetd.d/rsync

  将 disable = no 改成yes

  [root@localhost ~]# /etc/init.d/xinetd start

C、撰写rsync的配置文件

  [root@localhost ~]# vi /etc/rsyncd.conf

  uid = root

  gid = root

  use chroot = no

  max connections = 10

  strict modes = yes

  pid file = /var/run/rsyncd.pid

  lock file = /var/run/rsync.lock

  log file = /var/log/rsyncd.log

 

  [update]

  path = /data/apps/ksoftmgr/ksafe/client/update

  comment = update file

  ignore errors

  read only = no

  write only = no

  hosts allow = 125.89.65.194 

  hosts deny = *

  uid = root

  auth users = wcm

  secrets file = /etc/web.pass

 

  [v1_0]

  path = /data/apps/ksoftmgr/ksafe/client/v1_0

  comment = v1_0 file

  ignore errors

  read only = no

  write only = no

  hosts allow = 125.89.65.194 

  hosts deny = *

  uid = root

  auth users = wcm

  secrets file = /etc/web.pass

D、撰写密码文件

   [root@localhost ~]# vi /etc/web.pass (格式 账号:密码)

   wcm:8888888

  [root@localhost ~]# chown root:root /etc/web.pass 

  [root@localhost ~]# chmod 600 /etc/web.pass 

E、启动rsync

   [root@localhost ~]# rsync --daemon

   [root@localhost ~]# echo "rsync --daemon" >> /etc/rc.local 

2、客户端(10.20.220.247)

   A、[root@localhost ~]# yum -y install rsync

   B、撰写密码文件

   [root@localhost ~]# vi /etc/web.pass (主要:只写用来同步的账号的密码)

   8888888

   [root@localhost ~]# chown root:root /etc/web.pass 

   [root@localhost ~]# chmod 600 /etc/web.pass 

   C、撰写crontab,没一分钟同步一次

   [root@localhost v1_0]# crontab -e

   */1 * * * * /usr/bin/rsync -avz --progress --delete      /data/appsdata/softmgr-v3/static-file/update/  wcm@114.112.36.x::update --password-file=/etc/web.pass

   */1 * * * * /usr/bin/rsync -avz --progress --delete    /data/appsdata/softmgr-v3/static-file/v1_0/  wcm@114.112.36.X::v1_0 --password-file=/etc/web.pass

四、测试

在内网的update和v1_0下面删除或者新建文件,看对应外网的机器上是否也是做了相应的操作,如果是,说明OK,我的肯定是撒,线上的不同步就悲剧了。

本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/913068

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
centos7安装配置rsync以及遇到问题
安装 服务端 安装软件: yum -y install rsync 创建需同步的目录: mkdir -p /data 编辑配置文件:vim /etc/rsyncd.conf motd file = /etc/rsyncd.
2665 0
+关注
shy丶gril
文章
问答
视频
相关电子书
更多
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
相关镜像