简介
rsync是类unix系统下的数据镜像备份工具。本文以Nexue数据备份的实践应用为案例,介绍整个应用过程。作为入门材料,rsync的高级配置和应用不在本文范畴。
功能及特点:(从百度抄的)
- 可以镜像保存整个目录树和文件系统。
- 可以很容易做到保持原来文件的权限、时间、软硬链接等等。
- 无须特殊权限即可安装。
- 快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
- 安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
- 支持匿名传输,以方便进行网站镜象。
使用场景:
1、服务器数据备份
2、集群服务器中数据同步(增量是两点啊)
安装配置
rsync是应用模式是标准的C/S模式,原始数据所在的服务器A作为服务器,其他备份和同步的服务器B为客户端。所以分为服务器端配置和客户端配置。方案规划如下:
方案规划
服务器角色 | 服务器名称 | 服务器IP | 用户 | 备份同步目录 |
服务端 | 服务器A | 192.168.30.202 | root | /data/sonatype-work |
客户端 | 服务器B | 192.168.30.208 | root | /data/sonatype-work |
rsync安装
rsync的安装,服务器端和客户端完全相同。
# wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
# tar -xzvf rsync-3.0.9.tar.gz
# cd cd rsync-3.0.9
# ./configure --prefix=/usr
……
# make
……
# make install
……
说明:编译安装需要gcc支持,如果没有安装,请先安装。我使用的是centOS6.3,所以就直接:yum install gcc.就OK了。
OK,安装完成。
服务端配置(服务器A)
服务器端的需求是通过rsync提供对/data/sonatype-work目录的同步备份服务,同时要求服务器启动自动启动服务。rsync通配置主要通过3个配置文件配置完成。如下:
[root@localhost etc]# ll rsyncd.*
-rw-r--r-- 1 root root 918 Mar 6 22:44 rsyncd.conf
-rw-r--r-- 1 root root 191 Mar 6 22:06 rsyncd.motd
-rw------- 1 root root 14 Mar 6 22:04 rsyncd.secrets
- rsyncd.conf:主配置文件,配置rsync服务的公共参数(IP,端口,进程文件,IP限制,日志,连接超时等)和需要同步的模块(需要同步的目录及常规参数)
- rsyncd.secrets:客户端请求同步时的账户安全认证文件。类似samba的模式(user:passwsord[明文哈]),这个文件的需要特别注意权限设置为宿主可访问才行(chmod 600 rsyncd.secrets)。
- rsyncd.motd:该文件就是客户端请求上来的时候,立即回复的欢迎信息,就和FTP登录时显示差不多意思。
下面我们分配配置和说明这些配置文件。
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 # 服务的IP address = 192.168.30.202 # 运行的宿主账户,这里为简单就root了 uid = root gid = root # 这个参数复杂,有空去查查。打开(yes)后有个功能是让符号链接可以同步过去(不通过符号链接对应的实际文件) use chroot = yes # 客户端只读 read only = yes #limit access to private LANs hosts allow=192.168.30.0/255.255.255.0 hosts deny=* # 最大连接数 max connections = 5 # 欢迎信息对应的文件 motd file = /etc/rsyncd.motd # 客户端链接的超时时间 timeout = 300 # 以下是日志相关配置,可选使用独立日志文件和系统日志,这里选择的是系统日志(/var/log/message) # 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 ##################################### 同步模块配置 ############################################# [nexus] # 需要同步的路径 path = /data/sonatype-work # 客户端可以使用list命令列表显示 list=yes # 忽略错误 ignore errors # 认证用户 auth users = root # 认证使用的账户密码文件 secrets file = /etc/rsyncd.secrets # 备注信息 comment = This is nexus data # 如果有忽略的子目录,可以通过exclude定义 # exclude = easylife/ samba/
rsyncd.secrets
# 用户名:密码明文了 root:1qaz@WSX
rsyncd.motd
+++++++++++++++++++++++++++++++++++++++++++++++++++++ Welcome to Nexus rsync services 2012--2013 create by zhangpu ++++++++++++++++++++++++++++++++++++++++++++++++++++
防火墙
如果你开启了操作系统的防火墙,请使用iptables配置873端口可用。我反反正是直接关闭了,简单点。
启动服务
手动方式
#/usr/bin/rsync --daemon --config=/etc/rsyncd.conf #--config用于指定rsyncd.conf的位置,如果在/etc下可以不写
xinetd方式
如果没有安装xinet,请先安装,对应本系统(CentOS),我直接 yum install xinet 就OK了
在rsync默认安装完成后,安装程序会自动在建立/etc/xinetd.d/rsync文件,但是默认情况是disable = yes(也就是不可用的),需要修改为disable=no 即可
然后,我们通过xinet启动rsync:
# service xinetd start/restart
测试下,可以查看进程,端口监听等,我还是喜欢最笨最原始的方式:telnet,哈哈
# telnet 192.168.30.202 873
Trying 192.168.30.202...
Connected to 192.168.30.202 (192.168.30.202).
Escape character is '^]'.
@RSYNCD: 30.0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
Welcome to Nexus rsync services
2012--2013 create by zhangpu
++++++++++++++++++++++++++++++++++++++++++++++++++++
都看到欢迎界面了,肯定服务起来了。
客户端配置(服务器B)
客户端是备份服务器,负责使用rsync命令从服务器备份或同步数据到本地指定目录。这里使用crontab+rsync实现定时自动增量同步的功能。
我决定在/data/rsync下建立一个脚本来实现启动rsync同步的功能,然后再使用crontab来实现定时调度。
[root@localhost rsync]# ll /data/rsync
total 8
-rwxr-xr-x 1 root root 177 Mar 6 15:27 rsync_client_nexus.sh
-rwx------ 1 root root 9 Mar 6 15:17 rsyncd.secrets
rsync_client_nexus.sh
#!/bin/sh # backup 192.168.30.202 nexus data with rysnc # 参数说明: # -avzP表示归档,压缩并显示进度; # --delete表示如果服务端删除的文件,客户端也需要删除; # --password-file: 指定用户密码文件,不用用户交互输入。 # root@192.168.30.202::nexus 表示:使用root用户访问192.168.30.202的nexus模块,‘::’表示从服务器端拷贝数据 # /data/sonatype-work : 本地保存同步文件的目录。 /usr/bin/rsync -avzP --delete --password-file=/data/rsync/rsyncd.secrets root@192.168.30.202::nexus /data/sonatype-work
rsyncd.secrets
该文件保存rsync命令中使用的用户名的密码明文,这里就是上面的root用户的密码。同时注意这里和服务器端一样,该文件的权限为宿主可以读写(chmod 600 rsyncd.secrets)
# root(rsync的,非操作系统)用户的密码 1qaz@WSX
crontab配置
这是配置每天凌晨1点1分进行同步处理。
# crontab -e
1 1 * * * /data/rsync/rsync_client_nexus.sh 1> /dev/null
测试
测试就比较简单了,在服务器A的/data/sonatype-work下建立一个testfile,随便输入些东西,然后在服务器B中手动运行同步脚本rsync_client_nexus.sh,完成后在服务器B中相同目录检查是否有该文件。通过这种方式,你可以再修改文件,删除文件等测试。
相关推荐
rsync 数据同步部署指南 rsync 是一种快速、可靠的文件同步工具,广泛应用于数据同步、备份和镜像等领域。以下是 rsync 数据同步部署指南的摘要信息: 一、什么是 rsync? rsync 是一个免费的、功能强大、跨平台...
可以实现触发式的文件同步,但使用crontab守护进程方式进行触发同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样刚好解决了同步数据的实时性问题。...
"rsync同步的艺术" rsync 是一个功能强大的文件同步工具,经常用于服务器之间的文件同步和备份。它能够确保文件的内容、权限和时间戳保持一致。下面是 rsync 的一些重要知识点: 1. rsync 的基本使用:rsync 可以...
### Linux下rsync文件夹同步配置详解 #### 引言 在Linux环境下,rsync工具因其高效、稳定、灵活的特点...rsync的强大功能与灵活性使其成为处理大规模文件同步的理想选择,尤其适用于服务器之间的数据备份与同步场景。
使用 Linux 的 rsync 命令实现多服务器镜像同步 在 Linux 系统中,rsync 命令是实现文件同步和备份的强大工具。rsync 命令可以实现多服务器镜像同步,使得文件在不同服务器之间保持一致。本文将详细介绍使用 rsync ...
- 发起端和备份源的定义:解释了Rsync同步操作中各个组件的角色和功能。 - 推(push)和拉(pull)的数据同步方式:介绍了不同同步模式的工作原理和适用场景。 - Xinetd管理Rsync工作原理:通过Xinetd服务来管理...
### rsync+inotify 实现高效数据同步 在IT领域,数据同步是保障业务连续性和数据完整性的重要环节。传统的数据备份方法如`cp`和`tar`存在诸多局限,如效率低下、安全性不足以及不支持增量备份等。相比之下,`rsync`...
rsync数据同步手册 rsync是一种快速、可靠的文件同步工具,广泛应用于数据备份、同步和复制。下面是关于rsync数据同步手册的知识点总结: 一、系统环境 在开始使用rsync之前,需要了解系统环境的基本配置。包括...
在远程同步任务中,负责发起 rsync 同步操作的主机称为发起端,而负责响应 rsync同步操作的主机称为 rsync 服务器(也称为同步源)。 在 push 方案中,rsync 服务器负责提供文档的目标位置,发起端应对该位置具有...
FreeBSD上的Rsync同步学习与配置是一个重要的话题,特别是对于那些需要高效、可靠地备份和同步数据的系统管理员而言。Rsync是一款强大的文件同步工具,最初设计用来替代rcp,由rsync.samba.org维护。它以其独特的...
【Rsync同步局域网主机WIN7数据到公网Linux服务器】 在现代企业环境中,数据的安全备份和实时同步至关重要。Rsync是一款强大的文件同步工具,它能够有效地在不同系统之间进行数据迁移和同步,包括从Windows系统到...
【rsync服务器架设与数据同步文件增量备份】 rsync是一种强大的、快速的、增量的文件复制工具,常用于文件备份和同步。它能够只复制差异部分,从而大大提高了效率。rsync支持本地和远程数据同步,且可以跨平台运行...
在Windows系统中,可以使用第三方工具如WinRSync或 cwRsync来实现与Linux服务器间的rsync同步。这些工具提供了类似于rsync的命令行界面,允许用户在Windows环境下执行跨平台的同步操作。 4. **定时同步** 为了实现...
在Linux环境中,文件数据的实时同步是系统管理中的重要任务,尤其对于分布式系统和多服务器环境。`Rsync`和`sersync`是两个常用的工具,它们能够有效地帮助我们完成这个任务。本文将深入探讨这两个工具的工作原理、...
使用 Rsync + inotify 实现实时远程同步 Rsync 是一个功能强大且广泛使用的文件同步工具,它可以快速、安全、可靠地同步文件。在服务器之间同步文件时,...这种方法可以实时同步文件,提高服务器之间的数据一致性。
相较于传统的 `cp` 和 `tar` 备份方式,rsync 提供了更高的安全性、更快的速度以及支持增量备份等功能,适用于对实时性要求不高的数据备份需求,比如定期将文件服务器数据备份至远程服务器或本地磁盘。 然而,随着...
本项目的实时同步解决方案能够确保数据的一致性和可靠性,因为Sersync和Rsync的集成能够实时监控文件系统的变化,并将变化推送到Rsync daemon服务器,确保数据的实时同步。 知识点7:实时同步的应用场景 本项目的...
标题中的“rsync实现 服务器间文件的同步”是指使用rsync工具进行远程数据同步的过程。rsync是一款功能强大的、开源的文件同步工具,广泛应用于Linux和Unix系统中,能够高效地实现本地或远程文件及目录的备份和迁移...