您的位置:首页 > 其它

Rsync 服务器搭建

2015-08-21 16:49 302 查看
Rsync简介

rsync 是一个 Unix 系统下的文件同步和传输工具。

它具备以下特性:

1. 能更新整个目录和树和文件系统

2. 有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间



3. 对于安装来说,无任何特殊权限要求

4. 对于多个文件来说,内部流水线减少文件等待的延时

5. 能用 rsh、ssh 或直接端口做为传输入端口

6. 支持匿名 rsync 同步文件,是理想的镜像工具;

Rsync服务器是指以deamon方式运行rsync服务的服务器,需要打开rsync deamon和启动xinetd服务。默认端口873。

Rsync客户端是发起rsync连接的服务器,安装rsync即可。

Rsync工作场景

Rsync客户端发起连接后,Rsync服务器会检查Rsync客户端提交Rsync服务器内建的户名和密码是否正确,如果通过认证检测,则开始文件传输,传输的过程是按要求先比对文件的大小、属性、权限、MD5值等信息,如果两端文件信息不一致,则按要求同步文件的区别块。

以下以备份rsync服务器的/usr/local/tomcat6/web 目录为例进行部署。

Rsync服务器架设简单,多数发行版本unix或者linux操作系统甚至默认都安装了rsync

全局配置文件 /etc/rsyncd.conf 有时候安装后没有此文件不必惊慌,自己创建一个。默认安装的也可能不存在该文件。

Rsync服务器搭建步骤:

1,安装rsync软件(略)

2,开启rsync deamon的xinetd服务

#chkconfig xinetd on 打开了xinetd的启动项(输入命令,如果系统不报错即可)

#chkconfig rsync on 打开rsync的启动项(输入命令,如果系统不报错即可)

#vi /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

log_on_failure += USERID

}

3,配置rsync

#vi /etc/rsyncd.conf 设置rsync配置文件(新建文件)

添加以下内容

uid=nobody

gid=nobody

max connetctions=4

use chroot=no

log file=/var/log/rsyncd.log

transfer logging=yes

log format=%t %a %m %f %b

pid file=/var/run/rsyncd.pid

lock file=/var/run/rsyncd.lock

#auth users=root

secrets file=/etc/rsyncd.pwd

[web]

path=/usr/local/tomcat6/web

comment=backup web

ignore errors

read only=yes

list=no

auth users=cms

secrets file=/etc/rsyncd.pwd

配置说明:

uid=nobody

gid=nobody

uid 和 gid是系统内建用户,必须存在于系统/etc/passwd文件中。这里设置了最小权限

max connetctions=4

max connections是客户端同时连接数,为了限制多线程同步的。

use chroot=no

不使用chroot。如果使用chroot,同步时候需要root权限,另外对符号链接文件, 将会排除在外。所以我们不使用chroot。

secrets file=/etc/rsyncd.pwd定义密码文件rsyncd.pwd

[web]

设置备份任务名称为web,下面的都是web备份任务参数设置,一直到另一个[]截止。我们可以创建多个备份任务。

path=/usr/local/tomcat6/web定义需要备份目录

comment=backup web定义显示说明,备份web目录

ignore errors 忽略同步中出现的错误

read only=yes定义访问方式为只读

list=no 定义了Rsync客户端是不可以列出目录结构

auth users=cms 定义了客户端备份web项目的用户,这个用户是rsync内建用户与rsync服务器和客户端系统用户无关

4,设置rsync内建用户和密码

#echo "cms:cmscms" >> /etc/rsyncd.pwd

这里我们设置rsync内建用户cms,密码cmscms

修改密码文件执行权限

#chmod 600 /etc/rsyncd.pwd

5,重启rsync服务

# service xinetd restart 启动服务

Rsync客户端搭建步骤

1,安装rsync软件(略)

2,客户端生成生成验证证文件

#echo "cmscms" >> /etc/rsyncd.pwd cmscms是密码

#chmod 600 /etc/rsyncd.pwd

3,测试

使用如下命令测试Rsync客户端是否可以同步Rsync服务端

#/usr/bin/rsync -vzrtopg --password-file=/etc/rsyncd.pwd --progress --delete-after cms@100.1.1.147::web /usr/local/tomcat6/web

/usr/bin/rsync 是rsync可执行文件路径

-vzrtopg --password-file=/etc/rsyncd.pwd --progress --delete-after 同步参数

cms@100.1.1.147::web 表示客户端以cms用户进行同步,100.1.1.147是rsync服务器端ip地址,web表示rsync服务器端的@web备份任务。

/usr/local/tomcat6/web 是客户端存放备份文件的位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: