Rsync 详细配置说明

rsync是类unix系统下的数据镜像备份工具。

它的特性如下:
可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。


rsync的安装,centos默认已经自带就安装了程序。无需安装。

准备:
检查是否已经安装
rpm -qa rsync

1、安装
yum install rsync

2、命令输入
rsync

出现以下表示安装成功:
rsync  version 3.0.6  protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes


rsync使用服务端-客户端同步文式
双机备份配置:
服务端:
网上有很多教程使用xinet.d来启动rsync服务端。
这里使用rsync自带的来启动服务端
如:rsync --daemon --config=/home/leyewen/etc/rsync/rsyncd.conf

1、配置rsyncd.conf如下: 
 
# 全局参数
# 运行rsync守护进程的用户
uid = root     
# 运行rsync守护进程的组
gid = root     
# 不使用chroot
use chroot = no    
# 最大连接数为4
max connections = 2    
# 是否检查口令文件的权限
strict modes = yes    
# 默认端口873 这里最好改成1024以上端口 并且
port = 873     
#pid文件的存放位置
pid file = /usr/local/rsync/rsyncd.pid 
#锁文件的存放位置
lock file = /usr/local/rsync/rsync.lock 
log file = /usr/local/rsync/log/rsyncd.log
motd file = /usr/local/rsync/rsyncd.motd

# 模块参数
# 这里是认证的模块名,在client端需要指定
[backup]     
# 需要做镜像的目录 不可缺少
path = /home/rsync/data   
# 这个模块的注释信息
comment = My Backup    
# 可以忽略一些无关的IO错误
ignore errors     
# 只读
read only = no     
# 不允许列文件
list = no     
# 认证的用户名 如果没有这行则表明是匿名 此用户与系统无关--->这里的auth users =与rsync.pass中的用户名一致
auth users = sensor   
# 密码和用户名对比表,密码文件自己生成
secrets file = /usr/local/rsync/rsync.pass 
# 允许主机
# hosts allow = 192.168.1.1,10.10.10.10  
# 禁止主机
# hosts deny = 0.0.0.0/0   
#transfer logging = yes       




2、配置rsync密码(在上边的配置文件中已经写好路径) /usr/local/rsync/rsync.pass  (名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)
账号:密码
vi /usr/local/rsync/rsync.pass   
例子:
sensor:passwd
权限:因为rsync.pas存储了rsync服务的用户名和密码,所以非常重要。要将rsync.pas设置为root拥有, 且权限为600。
chmod 600 /usr/local/rsync/rsync.pass   

3、启动rsync服务端
rsync --daemon --config=/usr/local/rsync/rsyncd.conf


客户端:
rsync -avz --progress --delete --port=873 --password-file=/home/leyewen/etc/rsync/rsync-client.pass --exclude=.svn/ --exclude=WEB-INF/ /home/leyewen/svn/* leyewen@192.168.1.112::back

这里同步本地的svn下所有文件到服务端配置的备份目录
--exclude=.svn/ --exclude=WEB-INF/ 过滤svn和WEB-INF目录

配置说明
 
rsync -avz /home/rsync/data/* sensor@211.144.76.142::backup
 
rsync -avz 同步目录|文件 用户名@IP::模块名
 
-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;
 
 
另外:
定制欢迎信息文件rsyncd.motd 
如:
[root@211 rsync]# cat rsyncd.motd
+++++++++++++++++++++++++++
+       wellcome rsyncd    +
+++++++++++++++++++++++++++
 
  
 
注意:
 
--password-file=/home/leyewen/etc/rsync/rsync-client.pass
 
通过--password-file指定密码文件,
1,注意修改.pass 文件为chmod 600 
2,rsync 服务端格式为usrname:pwd  但客户端格式为pwd ,所以这里容易出错!!
 
 
posted @ 2015-08-18 14:22  itank  阅读(1868)  评论(1编辑  收藏  举报