RHEL 自带的工具RSYNC务实现文件分发功能

 

   rsync是一款非常优秀的文件同步管理软件,具有占用资源少,增量同步等优点。软件包默认包含在RHEL6.0系统中,无需安装。其默认安装的版本是3.0.6 最新版本是3.0.8 功能相差不大。推荐使用系统自带的版本,比较稳定。

经测试.由于接收端用的是增量机制实现文件同步,不占用过多带宽及资源,非常适合做本次项目的文件同步。

下面有这样一个测试环境:

公司站服务器为10.0.0.210.0.0.3做的一个集群,运维人员每天会更新10.0.0.2的网站内容,然后使用rsync同步到10.0.0.3上。

安装步骤如下相关参数根据实际情况调整

RSYNC 服务的配置文件  在分发服务器(10.0.0.2)上设置 RSYNC 服务

#vi /etc/rsync.conf                                                            

[www]              

path= /var/www/html    #需要分发的目录,该目录下的文件及目录会自动分发

list= yes             #允许合法用户列目录

readonly = yes         #主服务器不允许客户端进行写文件

hosts allow = 10.0.0.3   #只允许连接的客户主机

authusers= receiver   #验证合法用户

secretsfile = /etc/rsyncd.pw #指定密码文件,由于用明文,文件权限必须为600

log file=/var/log/rsync.log

编辑用户密码文件

#vi /etc/rsyncd.secrets                                                      

receiver:nIha@NHT

设置文件权限,只允许 root 用户查看

#chmod 600/etc/rsyncd.pw                                              

以服务模式运行 RSYNC 并将其添加到/etc/rc.local  使其开机自动运行

#rsync --daemon                                                             

注:由于 RSYNC 服务使用 873 端口来进行文件传输,所以防火墙必须有针性的开放该端口

在接收服务器(10.0.0.3)的脚本设置。

注:该脚本会自动同步服务器的目录。且只更新服务器上修改,创建及删除操作的文件。也就是

增量操作。所以在性能上完全可以满足要求

#vi /root/scripts/syncwww.sh                                                         

#!/bin/sh

# directory to sync

SDIR=www

RUSER=receiver

SRVIP=10.0.0.2

DDIR=/var/www/html

export RSYNC_PASSWORD= nIha@NHT

OPTS=" -az  --delete "

rsync $OPTS $RUSER@$SRVIP::$SDIR $DDIR

定时  每晚 3 点自动执行.

#chmod +x /root/scripts/syncwww.sh

#crontab -e                                                                 

0 3 * **  /root/scripts/syncwww.sh

注:需要立即同步时,可以手动运行该脚本则可实现立即同步.