`

Rsync实现服务器间文件数据同步配置详解!

 
阅读更多
1.1 什么是rsync?
rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输。rsync中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。
在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输协议或者通过远程shell如RSH或者SSH伺服文件。SSH情况下,rsync客户端运行程序必须同时在本地和远程机器上安装。

2.1 rsync的安装
每个镜像服务器(需要同步的服务器)都需要安装rsync守护进程。

一般发行版都带有rsync,因此我这里直接使用yum安装。当然在很多发行版上默认已经安装了rsync。
[root@master ~]# rpm -qa | grep rsync            #确认是否已经安装rsync
rsync-3.0.6-4.el5_7.1
[root@master ~]# rpm -ql rsync
/etc/xinetd.d/rsync
/usr/bin/rsync
/usr/share/doc/rsync-3.0.6
/usr/share/doc/rsync-3.0.6/COPYING
/usr/share/doc/rsync-3.0.6/NEWS
/usr/share/doc/rsync-3.0.6/OLDNEWS
/usr/share/doc/rsync-3.0.6/README
/usr/share/doc/rsync-3.0.6/support
/usr/share/doc/rsync-3.0.6/support/Makefile
/usr/share/doc/rsync-3.0.6/support/atomic-rsync
/usr/share/doc/rsync-3.0.6/support/cvs2includes
/usr/share/doc/rsync-3.0.6/support/deny-rsync
/usr/share/doc/rsync-3.0.6/support/file-attr-restore
/usr/share/doc/rsync-3.0.6/support/files-to-excludes
/usr/share/doc/rsync-3.0.6/support/git-set-file-times
/usr/share/doc/rsync-3.0.6/support/logfilter
/usr/share/doc/rsync-3.0.6/support/lsh
/usr/share/doc/rsync-3.0.6/support/mnt-excl
/usr/share/doc/rsync-3.0.6/support/munge-symlinks
/usr/share/doc/rsync-3.0.6/support/rrsync
/usr/share/doc/rsync-3.0.6/support/rsyncstats
/usr/share/doc/rsync-3.0.6/support/savetransfer.c
/usr/share/doc/rsync-3.0.6/tech_report.tex
/usr/share/man/man1/rsync.1.gz
/usr/share/man/man5/rsyncd.conf.5.gz
[root@master ~]# yum install rsync      #如果你电脑没有安装,可以使用YUM直接安装。
rsync是由超级守护进程xinetd来启动的。因此需要启动xinetd服务。
2.2 配置rsync服务器
rsync服务器主要有三个配置文件:rsyncd.conf,rsyncd.secrets和rsyncd.motd,而rsync安装后并没有自动创建相关配置文件,因此我们还需手动创建:
[root@master ~]# mkdir /etc/rsyncd         #创建配置目录
[root@master ~]# touch /etc/rsyncd/rsyncd.conf              #创建主配置文件
[root@master ~]# touch /etc/rsyncd/rsyncd.secrets          #创建用户密码文件
[root@master ~]# chmod 600 /etc/rsyncd/rsyncd.secrets  #修改用户密码文件权限
[root@master ~]# touch /etc/rsyncd/rsyncd.motd            #创建定义服务信息的文件

编辑主配置文件:
[root@master ~]# vim /etc/rsyncd/rsyncd.conf
# Minimal configuration file for rsync daemon
# See rsync(1) and rsyncd.conf(5) man pages for help
# This line is required by the /etc/init.d/rsyncd script
pid file = /var/run/rsyncd.pid
port = 873   ##监听端口
address = 192.168.1.1  ##监听地址
#uid = nobody
#gid = nobody  
uid = root
gid = root
use chroot = yes   ##是否限制在指定目录,为了安装,一般需要启用
read only = no
#limit access to private LANs
hosts allow=192.168.1.0/255.255.255.0   ##允许网段
hosts deny=*
max connections = 5
motd file = /etc/rsyncd/rsyncd.motd
#This will give you a separate log file
#log file = /var/log/rsync.log
#This will log every file transferred - up to 85,000+ per user, per sync
#transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
##定义一个同步目录
[webhome]
path = /var/www/html
list=yes
ignore errors
auth users = apache
secrets file = /etc/rsyncd/rsyncd.secrets  ##指定上述账号密码文件
comment = web home
exclude =   data/   ##排除目录


编辑/etc/rsyncd/rsyncd.secrets文件:
#Account and password
apache:password123
注意:这里账号虽然用的是系统账号,但是密码是自定义的密码。

启动使rsync生效:
[root@master ~]# /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

设置为开机启动:
[root@master ~]# echo "/usr/bin/rsync --deamon --config=/etc/rsyncd/rsyncd.conf" >> /etc/rc.d/rc.local

Tip:这里的启动方式比较特殊,如果你要重启,需要kill掉rsync的进程,再重新运行!
另外还有另外一种启动rsync的方式,CentOS 默认以 xinetd 方式运行 rsync 服务。rsync 的 xinetd 配置文件在 /etc/xinetd.d/rsync
要配置以 xinetd 运行的 rsync 服务需要执行如下的命令:
# chkconfig rsync on
#  vim /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon  --config=/etc/rsyncd/rsyncd.conf          #这里添加rsync的服务选项!
        log_on_failure  += USERID
}
# service xinetd restart

2.3 使用rsync客户端实现数据同步
客户端安装同上,额外只需配置一个密码文件,具体如下:


[root@client01 ~]# mkdir /etc/rsyncd
[root@client01 ~]# echo "password123" > /etc/rsyncd/rsyncd.password   #创建密码文件,密码为服务器端rsyncd.secrets文件中的密码。
[root@client01 ~]# chmod 600 /etc/rsyncd/rsyncd.password
同步:
[root@client01 ~]# rsync -avzP --password-file=/etc/rsyncd/rsyncd.password apache@192.168.1.1::webhome  /var/www/html/
#后面跟同步到本地的路径

receiving incremental file list
./
test
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/2)


sent 81 bytes  received 147 bytes  456.00 bytes/sec
total size is 0  speedup is 0.00


说明:
--delete:本地与服务器完全一样,如果本地存在不一样的,则删除,慎用

--password-file:指定密码文件,如果不指定,则需手动输入

-a :参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z :传输时压缩;
-P :传输进度;
-v :传输时的进度等信息

apache@IP ::webhome  用双冒号引用主配置文件中的定义资源,也可以使用单引号跟绝对路径

以后同步时,只会同步新增内容。

最后将上述命令加入计划任务定时同步即可。
分享到:
评论

相关推荐

    Rsync实现文件备份同步

    **Rsync实现文件备份同步详解** 在IT领域中,数据备份和同步是非常关键的操作,确保了数据的安全性和可用性。Rsync(Remote Sync)是一种高效、功能强大的文件同步工具,常用于实现本地或远程文件的备份与同步。...

    linux 下rsync文件夹同步配置

    ### Linux下rsync文件夹同步配置详解 #### 引言 在Linux环境下,rsync工具因其高效、稳定、灵活的特点,被广泛应用于文件备份、数据迁移以及文件夹同步等场景。本文将详细介绍如何在Linux系统中配置rsync进行...

    linuxrsync安装配置及命令详解.pdf

    Linux rsync 安装配置是 Linux 系统中的一种数据同步工具,通过 rsync 命令可以实现文件的同步、备份和恢复。rsync 服务器可以实现文件的实时同步,降低数据丢失的风险。 服务端操作 1. 安装 rsync 服务:使用 ...

    rsync目录同步配置详解

    rsync目录同步配置详解 本篇文章旨在详细介绍 rsync 目录同步的配置过程,涵盖服务器端和客户端的配置、ssh 远程连接、rsync 服务的启动和客户端同步命令等方面的内容。 一、环境要求 要实现 rsync 目录同步,...

    rsync成功实现多台Windows文件同步

    ### rsync成功实现多台Windows文件同步的知识点详解 #### 一、rsync简介与应用场景 **rsync**是一款开源的文件同步工具,最初为Linux/Unix环境设计,后被移植到Windows平台。它能够高效地同步文件和目录,特别适用...

    Step by Step CentOS 7系统下Rsync+Sersync实时数据同步配置

    从环境准备到配置SELinux和firewalld,再到分别配置目标服务器与源服务器的Rsync和Sersync服务,以及启动服务与管理操作,每一步都详细阐述,确保读者能够真实有效地进行数据同步配置。 #### 实践检验与适用场景 ...

    两台linux服务器目录实时同步(Rsync+Inotify)

    ### 实时同步技术详解:利用Rsync与Inotify在Linux环境下构建高效同步方案 #### 一、概述 在现代IT环境中,数据同步是一项至关重要的任务,尤其是在多服务器架构下,保持数据的一致性和实时性对于业务连续性至关...

    介绍rsync数据同步、inotify实时同步;实现linux、windows的备份管理

    结合rsync使用时,inotify能够检测到文件系统的任何变化,并立即启动rsync进行同步,从而实现数据的实时同步。 **inotify的优点**: 1. **实时监控**:可以实时监控文件或目录的变化。 2. **事件通知**:通过事件...

    Rsync服务器的配置.pdf

    《Rsync服务器配置详解》 Rsync是一款强大的文件同步工具,广泛应用于服务器之间的数据备份与迁移。本文将详细讲解如何配置Rsync服务器,确保数据安全、高效地进行同步。 首先,Rsync服务器的配置需要安装Rsync...

    实用RSYNC服务同步文件

    `sync.sh`脚本是RSYNC服务的执行脚本,通常包含RSYNC命令行参数和同步配置。例如,我们可以设定如下命令来同步本地目录到远程服务器: ```bash rsync -avz --delete /local/directory user@remote:/remote/directory...

    Rsync详解及liunx和windows下的配置

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

    Rsync服务器的配置.docx

    【Rsync服务器配置详解】 Rsync是一款强大的、用于文件同步和备份的开源工具,它支持本地和网络间的文件同步。以下是一份详细的Rsync服务器配置步骤: 1. **安装Rsync**: 在Linux系统中,你可以通过包管理器安装...

    linux系统中rsync+inotify实现服务器之间文件实时同步

    本文将详细介绍如何使用rsync和inotify工具来实现实时的文件同步,确保数据的安全和一致性。 1. **rsync**: - rsync是一款功能强大的文件同步工具,它支持增量备份,即只传输自上次同步以来发生变化的部分,极大...

Global site tag (gtag.js) - Google Analytics