linux系统Rsync 详细配置说明

2016-09-30 20:33:56 4783

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://www.landui.com/
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 ,所以这里容易出错!!


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: