曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 5501|回复: 1
打印 上一主题 下一主题

[CentOS] 搭建 rsync 服务器

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2012-4-23 13:32:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在 《使用 lftp 作为 sftp 客户端进行备份
》里介绍过使用 lftp 对网站进行增量备份,实际上还有一种高效的方式,即使用 rsync 服务器。在客户端使用 rsync 工具连接安装有 rsync 服务的服务器,可以很方便的对网站进行增量备份,如对论坛一类网站的附件备份尤显得方便。


1.安装
对于 RedHat, CentOS 服务器:
#yum install rsync

对于 Debian, Ubuntu 服务器:
#apt-get install rsync

安装完后,就可以对服务器进行配置了。


服务器配置涉及到 3 个文件:
rsyncd.conf :服务器配置主文件
rsyncd.secrets :登录 rsync 服务器用户名和密码文件
rsyncd.motd:rsync 服务器信息文件,显示用户登录信息,如同 FTP 服务器中的欢迎信息。

这 3 个文件需要我们手动建立:
# mkdir /etc/rsyncd
# touch /etc/rsyncd/rsyncd.conf
# touch /etc/rsyncd/rsyncd.secrets
# touch
/etc/rsyncd/rsyncd.motd

可以随便的简单写一些内容到 rsyncd.modt 中,比如:
# cat /etc/rsyncd/rsyncd.motd
-----------------------
welcome to groad.net
-----------------------

下面在 rsyncd.secrets 中写入一个用户名和密码,它在客户端连接服务器时使用,为了安全起见,该用户名和密码不要和系统内置用户名密码相同,比如:
# cat /etc/rsyncd/rsyncd.secrets
beyes:123456

最后,简单配置一下主配置文件 rsyncd.conf ,其内容为:
# cat /etc/rsyncd/rsyncd.conf

pid file = /var/run/rsyncd.pid

port = 873

address = 192.168.1.102

use chroot = yes
read only = yes

hosts allow=192.168.1.0/255.255.255.0
hosts deny=*

max connections = 5
motd file = /etc/rsyncd/rsyncd.motd


timeout = 600

[wwwroot]   
uid = root
gid = root
path = /var/www/html/dz/p_w_uploads
list = yes
ignore errors
auth users = beyes
secrets file = /etc/rsyncd/rsyncd.secrets
comment = www_root_home

下面说明一下上面的配置参数:
[Plain Text] 纯文本查看 复制代码
pid file = /var/run/rsyncd.pid

pid file 是全局参数,它要求 rsync 守护进程将自己的 PID 写到该文件中,如果该文件已经存在,那么 rsync 守护进程将终止写入该文件而不是重写覆盖它。

[Plain Text] 纯文本查看 复制代码
port = 873

873 是默认的监听端口,也可以指定其它的。

[Plain Text] 纯文本查看 复制代码
address = 192.168.1.102

指定服务器 IP 地址。

[Plain Text] 纯文本查看 复制代码
use chroot = yes

在开始文件传输前,rsync 守护进程将 chroot 到指定路径中。设置该选项的有点是增强了系统的安全性,其缺点是需要超级用户权限,并且没法获取符号链接文件所指的真实文件,即只能获取符号链接文件本身。

[Plain Text] 纯文本查看 复制代码
read only = yes

客户端对服务器只读。

[Plain Text] 纯文本查看 复制代码
hosts allow=192.168.1.0/255.255.255.0

设置可以连接服务器的 IP 地址范围。

[Plain Text] 纯文本查看 复制代码
hosts deny=*

除了 hosts allow 所允许的范围外其他的连接都将被禁止。

[Plain Text] 纯文本查看 复制代码
max connections = 5

客户端最大连接数。

[Plain Text] 纯文本查看 复制代码
motd file = /etc/rsyncd/rsyncd.motd

指定 rsyncd.motd 文件路径。

[Plain Text] 纯文本查看 复制代码
timeout = 600

定义连接超时时间,秒为单位,此处为 10 分钟。

[Plain Text] 纯文本查看 复制代码
[wwwroot]

用中括号括起来的标识为自定义一个模块。

[Plain Text] 纯文本查看 复制代码
path = /var/www/html/dz/p_w_uploads

定义要增量同步的目录。

[Plain Text] 纯文本查看 复制代码
list = yes

允许列出服务器上的目录。

[Plain Text] 纯文本查看 复制代码
ignore errors

忽略 I/O 错误。

[Plain Text] 纯文本查看 复制代码
auth users = beyes

授权一个用户。

[Plain Text] 纯文本查看 复制代码
secrets file = /etc/rsyncd/rsyncd.secrets

指定用户名和密码文件。

[Plain Text] 纯文本查看 复制代码
comment = www_root_home

给模块添加一些注释内容。

rsync 主配置文件中的书写语法,配置参数等详细说明见 http://everythinglinux.org/rsync/

在配置完毕后,先添加 iptables 防火墙规则,使其允许客户端连接:
iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT

以守护进程方式启动 rsync 服务器:
/usr/bin/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf

使用 rsync 客户端连接并同步:
root@bt:~/wwwroot# rsync -avzP beyes@192.168.1.102::wwwroot wwwroot
-----------------------
welcome to groad.net
-----------------------

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

sent 81 bytes  received 326 bytes  116.29 bytes/sec
total size is 13  speedup is 0.03
上面的 some.txt 是后来新增文件,之前已经同步过一次,因此该次同步时只备份 some.txt 这个文件。在 rsync 连接命令中,指定了用户 beyes (接着会提示输入 rsyncd.secrets 中设置的密码),并在服务器 IP 后指定了模块的名称 wwwroot ,命令行中的最后一个参数 wwwroot 指定一个本地目录,即将服务器上的内容同步到该目录中。


4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
沙发
 楼主| 发表于 2012-4-25 07:55:26 | 只看该作者
1. uid 和 gid 的设置

uid 和 gid 标识备份是以什么身份进行的。如果将其设置为 root,那么 rsync几乎可以读取任何文件和目录,虽然方便,但同时也带来了安全隐患。

因为出于安全目的,文件的属性必需是只有属主可读,否则 rsync将拒绝运行,因此我们可以设置它的属性为 600,如若不行,那么改为 400 。
2. 关于 address 的指定

在某些网络情况下,address 可能不需要指定,否则会出。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-17 14:59 , Processed in 0.083775 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表