编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

一文看懂rsync实现ftp数据定时同步过程

wxchong 2024-07-16 10:28:56 开源技术 6 ℃ 0 评论

概述

由于业务需要,需在ftp服务器创建多一个目录,用于给另外一个新系统做测试用。

简单画图如下:

目前架构:

计划方案:

下面简单记录下方案实现过程。


一、搭建rsync服务

1、Linux搭建rsync

1.1、编译安装

wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
tar -xvf rsync-3.1.2.tar.gz 
cd rsync-3.1.2
./configure --prefix=/usr/local/rsync && make && make install

1.2、修改配置

#vim /usr/local/rsync/rsyncd.conf
=================================================
#全局参数
uid = root 
gid = root
use chroot = no
max connections = 5
strict modes = yes
port = 8888
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
?
#模块
[inbound]
path = /home/ftptmslive/inbound
ignore errors
read only = false
list = no
#hosts allow = 0.0.0.0
auth users = rsync
secrets file =/usr/local/rsync/rsyncd.secrets
?
#模块
[scmp]
path = /home/ftptmslive/scmp
ignore errors
read only = false
list = no
#hosts allow = 0.0.0.0
auth users = rsync
secrets file =/usr/local/rsync/rsyncd.secrets
=================================================
?
#vim /usr/local/rsync/rsyncd.secrets
=================================================
rsync:xxxxxx
=================================================
#chmod 600 /usr/local/rsync/rsyncd.secrets

1.3、启动rsync

/usr/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf

2、windows搭建rsync

2.1. 点击服务端安装程序进行安装

在win服务器上安装cwRsyncServer_4.0.5_Installer.exe,安装的时候路径不要去改,全部用默认路径,如果用的是64位操作系统把默认路径中的Program Files (x86)那个(x86)删掉,安装过程中rsync会自动建立一个叫做rsync的用户名,并且提示你输入这个用户的密码,这里很关键,这个密码一定要是你系统用户即adminstrator的密码,如果怕出错就不用管他直接点下一步,值得完成安装,这时打开你的服务检查下有没有一个RsyncServer的服务,如果没有的话就是那个用户密码的地方弄错了,建议卸载重新安装,如果有那就OK,最后检查下你的防火墙是否打开873端口

检查服务可以看到有rsync服务程序

2.2. 修改配置

安装完成之后,进入程序安装目录根目录,打开配置文件(如:C:\Program Files(x86)\ICW\rsyncd.conf ),进入配置。

修改后如下:

以上Windows目录的写法,应该按照POSIX风格来写,默认配置文件的写要写成cygdrive,如D:/data,要写成/cygdrive/d/data。

说明:

strict modes = false 不验证用户密码,
pid = 0,uid = 0指定匿名访问。
auth users : 指访问data_backup的用户名
secrets file : data_backup用户名对应的密码文件。

2.3.修改服务自启动

控制面板--管理工具--服务


二、rsync增量实时同步脚本

:a
c:
cd C:\Program Files\cwRsync\bin\
echo ##############开始下载######################
rsync --port=8888 -vzrtopg --progress --timeout 300 源服务器::scmp/ /cygdrive/d/rsync/scmp/ftp/
echo ###################################开始上传#################################################
rsync --port=8888 -vzrtopg --progress --timeout 300 --password-file=/cygdrive/d/rsync/rsyncd.txt /cygdrive/d/rsync/scmp/ftp/* 目的服务器::scmp/ 
ping 127.0.0.1 -n 60 >null
pause
goto a

--delete # 从客户端目录中删除与服务端目录中不同的数据,保证两边数据完全一致,调试时慎用

--timeout #超时设定,在服务器忙或者网络忙时rsync会出现同步到一半不动的情况,用了这个参数就可以设定在指定的时间内rsync没有进行操作则取消

--pause #暂停,调试时使用


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表