一。环境:

OS: SunOs

compiler: gcc 4.2.4

perl 5.8.7

make 3.81

二、所需软件

rsync-3.0.7.tar.gz

三、安装软件

1、安装过程:tar xvzf rsync-3.0.7.tar.gz

cd rsync-3.0.7

./configure --prefix=/usr/local/rsync

(注:如果是Unix机器,默认使用的编译器是CC,编译无法通过,需要设置为gcc:

CC=gcc ./configure --prefix=/usr/local/rsync)

make

make install

参数说明:--prefix 指定rsync要安装的目录.

2、Rsync配置

/etc/rsyncd.conf (默认是没有的,可以手工创建)

#全局选项

strict modes =yes # 是否检查口令文件的权限

port = 873 # 默认端口873

log file = /var/log/rsyncd.log # 日志记录文件

pid file = /usr/local/rsync/rsyncd.pid # 运行进程的ID写到哪里

#模块选项

[test] # 这里是认证的模块名,在client端需要指定

max connections = 5 # 客户端最大连接数,默认0(没限制)

uid = livedoorcn # 指定该模块传输文件时守护进程应该具有的uid

gid = livedoorcn # 指定该模块传输文件时守护进程应该具有的gid

path = /home/rsync_test # 需要做备份的目录

ignore errors # 可以忽略一些无关的IO错误

read only = no # no客户端可上传文件,yes只读

write only = no # no客户端可下载文件,yes不能下载

hosts allow = * # 充许任何主机连接

hosts deny = 10.5.3.77 # 禁止指定的主机连接

auth users = livedoorcn # 认证的用户名,如果没有这行,则表明是匿名

secrets file = /usr/local/rsync/rsyncd.scrt # 指定认证口令文件位置

3、生成rsync密码文件

在server端生成一个密码文件/usr/local/rsync/rsyncd.scrt

vi rsyncd.scrt

---------content----------

livedoorcn:******

----------end-------------

注意:密码文件的权限,是由rsyncd.conf里的参数

strict modes =yes/no 来决定

4、Rsync 的启动

rsycn 的启动方式有多种,我们在这里介绍以下几种:

●. 守护进程方式:

/usr/local/rsync/bin/rsync --daemon

●.inetd方式:

在/etc/services中加入:

rsync 873/tcp

然后在/etc/inetd.conf中加入:

rsync stream tcp nowait root /usr/local/bin/rsync rsyncd --daemon

●.加入rc.local(FreeBSD)

编辑/etc/rc.d/rc.local,在最后添加:

/usr/local/bin/rsync --daemon

5、验证启动是否成功

ps -aux |grep rsync

root 59120 0.0 0.2 1460 972 ?? Ss 5:20PM 0:00.00 /usr/local/rsync/bin/rsync –daemon

netstat -an |grep 873

tcp4 0 0 *.873 *.* LISTEN

6、Rsync 客户端安装(我这里server和client是同一台机器)

安装环境:FreeBSD 6.0-RELEASE

所需软件:rsync-3.0.7.tar.gz

安装路径:/usr/local/rsync

下载地址:http://rsync.samba.org/

安装过程:tar xvzf rsync-3.0.7.tar.gz

cd rsync-3.0.7

./configure --prefix=/usr/local/rsync

make

make install

参数说明:--prefix 指定rsync要安装的目录.

至此,安装过程就结束了

7、实例演示

cd /usr/local/rsync/bin

下载文件

./rsync -vzrtopg --progress --delete colin@10.5.3.98::test /tmp/rsync

上传文件

./rsync -vzrtopg --progress --delete /tmp/rsync colin@10.5.3.98::test

8、Rsync 同步参数说明

-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。

--progress是指显示出详细的进度情况

--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除

colin@10.5.3.98中的colin是指定密码文件中的用户名

::test是指在rsyncd.conf里定义的模块名

/tmp/rsync是指本地要备份目录