下载最新的rsync的安装包;

我用的是rsync-3.0.6.tar.tar,是前人留下来的,我也没有更新,反正都一样啦;

直接解压 tar xzvf rsync-3.0.6.tar.tar,得到rsync-3.0.6目录

进入rsync目录:cd rsync-3.0.6

编译、安装./configure --prefix=/usr/local/rsync、make、make install;
make install完之后会在/usr/local下产生rsync目录;

接下来配置rsycnd.conf文件,也就是rsync的配置文件

vi /etc/rsyncd.conf
secrets file = /etc/rsyncd.pwd //认证用户名和密码文件的名称和位置
uid = nobody   //跟需要同步的文件夹的属主要一致,否则会出现在同步远程机器上时的权限不够的问题
gid = nobody  //权限和uid一样
use chroot = no
max connections = 4        
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

[test]           

path = /home/test                 
auth users = tests                   //指定用户名访问,可以不是系统用户
secrets file = /etc/rsyncd.pwd       //密码文件
read only =no                        //设置此模块下的文件是可以写的,当备份本地到远程的时候会要求有写的权限

配置认证密码文件

vi /etc/rsyncd.pwd
tests:aabbcc            //前面的是用户名,后面的是密码

chmod 600 /etc/rsyncd.pwd  //给认证文件加上root权限.

配置端口

vi /etc/services
在最后加上一段
rsync      873/tcp
rsync      873/udp

启动rsyncd

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

设置rsync自启动 chkconfig rsync on

接下来配置客户端

安装rsync软件,和服务器端一样安装,不用配置rsync.conf配置文件
配置密码文件,并且加上权限
vi /etc/rsyncd.pwd
aabbcc //客户端是不用写用户名的
启动客户端程序
在客户端机器上运行
/usr/local/rsync/bin/rsync -vzrtopg --progress /home/test/   --password-file=/etc/sinarsyncd.pwd
这样就可以将test文件同步了

加上排除

--exclude-from /home/paichu
在/home/paichu文件里面加上需要排除的文件或目录
vi /home/paichu
abc
.bat

然后运行

/usr/local/rsync/bin/rsync -vzrtopg --exclude-from /home/paichu --progress /home/test/   --password-file=/etc/sinarsyncd.pwd
在同步的时候只要是abc文件或目录、以.bat结尾的文件都不会被同步了。