实验目地:把server服务器上 /home/wwwroot下的数据同步到client下的 /backup/
一、 在server服务器上安装gcc环境
# mount /dev/cdrom /media
# vim /etc/yum.repos.d/rhel-debuginfo.repo //配置yum仓库
[rhel-debuginfo]
name=Red Hat Enterprise Linux
baseurl=file:///media/Server
enabled=1
gpgcheck=1
………
#yum -y install *gcc*
二、 在server服务器上安装软件包
#rpm –e rsync //卸载RPM包
#tar -zxvf /home/rsync-3.0.8.tar.gz -C /usr/src/
#cd /usr/src/rsync-3.0.8
#./configure --prefix=/usr/local/rsync3
#make && make install
# ln -s /usr/local/rsync3/bin/rsync /usr/local/bin/
三、 在server服务器上修改配置文件
#vim /etc/rsyncd.conf //新建配置文件(默认没有)
uid=root //使用用户
gid=root //使用组
max connections=36000 //最大连接
use chroot=no //是否使用chroot。
log file=/var/log/rsyncd.log //日志文件
pid file=/var/run/rsyncd.pid //pid文件
lock file=/var/run/rsyncd.lock //参数锁文件
strict modes =yes //是否监测密码文件的权限
[wwwroot] //定义模块,供外部访问的
path=/home/wwwroot //定义数据同步目录路径
comment=wwwroot backup
ignore errors=yes //在判断是否运行传输时的删除操作时忽略server上的IO错误
read only=no //是否为只读。No为允许写入
auth users = crazylinux //认证用户
secrets file = /etc/rsync.pas //密码文件
hosts allow=192.168.0.0/24 //定义允许的网段
hosts deny=172.16.0.0.16 //拒绝的网段
# cat /etc/rsync.pas //创建密码文件
crazylinux:123456
#chmod 600 /etc/rsync* //更改权限
# rsync –-daemon //启动服务
# netstat -lnput | grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 7295/rsync
tcp 0 0 :::873 :::* LISTEN 7295/rsync
四、 在client主机上安装rsync
# rpm -qa | grep rsync
rsync-2.6.8-3.1 //默认已安装
#cat /etc/rsync.pas
123456
#chmod 600 /etc/rsync.pas
#rsync -vzrtopg --delete --exclude "logs/" --exclude "conf/ssl.*/" --password-file=/etc/rsync.pas --progress [email protected]::wwwroot /backup/
命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。-- progress是指显示出详细的进度情况,--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。--exclude "logs/" 表示不对/www/logs目录下的文件进行备份。--exclude "conf/ssl.*/"表示不对/www/conf/ssl.*/目录下的文件进行备份。