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

网站首页 > 开源技术 正文

基于linux系统安装部署rsync远程同步服务及测试实时同步

wxchong 2024-07-16 10:29:16 开源技术 10 ℃ 0 评论

概述

Rsync是一款不错的文件免费同步软件,可以镜像保存整个目录树和文件系统,同时保持原来文件的权限、时间、软硬链接。第一次同步时 rsync 会复制全部内容,下次只传输修改过的文件部分。传输数据过程中可以实行压缩及解压缩操作,减少带宽流量。支持scp、ssh及直接socket方式连接,支持匿名传输。支持Linux,Window平台。

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

官网:http://rsync.samba.org/

Linux版下载:http://rsync.samba.org/download.html

Windows版下载:https://www.itefix.no/i2/cwrsync-get 选(Free Edition 免费版)

以下基于centos7进行测试。


一、安装配置 Rsync 服务端

1、下载并解压

wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
tar -xvf rsync-3.1.2.tar.gz

2、编译安装

cd rsync-3.1.2
./configure --prefix=/usr/local/rsync
make && make install

3、创建同步账号

groupadd rsync
useradd -g rsync rsync
passwd rsync (fswl@1234)

4、配置rsync-server

4.1、配置rsyncd.conf

#vim /usr/local/rsync/rsyncd.conf
=================================================
### 全局参数 ###
port=1873
motd file=/usr/local/rsync/rsyncd.motd
log file=/usr/log/rsyncd.log
pid file=/var/run/rsyncd.pid
### 模块参数 ###
[epms]
path=/opt
use chroot=true
uid=0
gid=0
read only=false
exclude=/readme.txt /runtime
auth users=rsync
secrets file=/usr/local/rsync/rsyncd.secrets
=================================================

4.2:配置rsyncd.secrets //此文件权限必须设置:600

#vim /usr/local/rsync/rsyncd.secrets
=================================================
rsync:fswl@1234
=================================================
#chmod 600 /usr/local/rsync/rsyncd.secrets

# 注意:rsync.secrets 文件中的内容必须为 rsync.conf 文件中 auth users 参数的值,加冒号,再加密码

4.3:配置rsyncd.motd (手动创建 touch /usr/local/rsync/rsyncd.motd )

#vim /usr/local/rsync/rsyncd.motd
=================================================
welcome use rsync service
=================================================

5、启动

启动rsyncd服务:

# /usr/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf
# ps aux | grep rsyncd

二、安装配置 Rsync 客户端

1、安装

yum -y install rsync

2、客户端建立密码文件

#vi /etc/rsyncd.passwd 
=================================
fswl@1234
=================================
#chmod 600 /etc/rsyncd.passwd

注意: 这里的密码,与服务端设置的密码相同,就是通过这个密码连接服务端的


三、同步文件

rsync --port=1873 -RaP /home/test rsync@172.16.1.180::epms --password-file=/etc/rsyncd.passwd

说明:

  • -a 包含-rtplgoD
  • -r 同步目录时要加上,类似cp时的-r选项
  • -v 同步时显示一些信息,让我们知道同步的过程
  • -l 保留软连接
  • -L 加上该选项后,同步软链接时会把源文件给同步
  • -p 保持文件的权限属性
  • -o 保持文件的属主
  • -g 保持文件的属组
  • -D 保持设备文件信息
  • -t 保持文件的时间属性
  • --delete 删除DEST中SRC没有的文件
  • --exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
  • -P 显示同步过程,比如速率,比-v更加详细
  • -u 加上该选项后,如果DEST中的文件比SRC新,则不同步
  • -z 传输时压缩

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

Tags:

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

欢迎 发表评论:

最近发表
标签列表