????????rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整 个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常 适用于异地备份,镜像服务器等应用。
????????rsync的官方站点是http://rsync.samba.org/.目前最新版本是3.1.2.由Wayne Davison进行维 护。作为一种最常用的文件备份工具,rsync往往是Linux和UNX系统默认安装的基本组件之一。
????????在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的 rsync同步操作的服务器称为同步源,在同步过程中,同步源负责提供文档的原始位置,发起端应对 该位置具有读取权限,如下图所示
????????rsync 作为同步源时以守护进程运行,为其他客户机提供备份源。配置rsync 同步源需要建立配 置文件rsyncd.conf,创建备份账号,然后将rsync程序以守护进程(“--daemon”选项)方式运行.
?????????配置文件rsyncd.conf位于/etc目录下.下面将以源目录/var/www/html.备份账号backuper为 例,介绍其配置方法。
[root@lgcllc ~]# vim /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = yes //禁锢在源目录
address = 192.168.55.123 //监听地址
port 873 //监听端口
log file = /var/log/rsyncd.log //日志文件位置
pid file = /var/run/rsyncd.pid //存放进程ID的文件位置
hosts allow = 192.168.55.0/24 //允许访问的客户机地址
[wwwroot] //共享模块名称
path = /var/www/html //源目录的实际路径
comment = http Doc
read only = yes //是否为只读
dont compress =*.gz *.bz2 *.zip *.rar *.tgz //同步时不再压缩的文件类型
auth users = backuper //授权账户
secrets file = /etc/rsyncd_users.db //存放账户信息的数据文件
????????基于安全性考虑,对于rsync的同步源最好仅允许以只读方式做同步,另外,同步可以采用匿名 的方式,只要将其中的“auth users”和‘secrets file”配置记录去掉就可以了。
????????根据上一步的设置,创建账号数据文件,添加一行用户记录,以冒号分隔,用户名称为backuper” 密码为“pwd123”.由于账号信息采用明文存放,因此应调整文件权限,避免账号信息泄露。
[root@lgcllc ~]# vim /etc/rsyncd_users.db
backuper:pwd123 //无须建立同名系统用户
[root@lgcllc ~]# chmod 600 /etc/rsyncd_users.db //设置权限
????????备份用户backuper 需要对源目录/var/www/html有相应的读取权限。
????????上述操作完成以后,执行“rsync--deemon”命令就可以启动rsync服务,以独立监听服务的方 式运行,若要关闭rsync服务,可以采取kill进程的方式,如kill $(cat/var/run/rsyncd.pid)
[root@lgcllc ~]# rsync --daemon //启动rsync服务
[root@lgcllc ~]# netstat -anpt | grep rsync