`
ziyoujiedao
  • 浏览: 40328 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用rsync(总结)

阅读更多
rsync命令格式

CODE:
命令格式:
#rsync [option] 源路径 目标路径
其中:
[option]:
a:使用archive模式,等于-rlptgoD,即保持原有的文件权限
z:表示传输时压缩数据
v:显示到屏幕中
e:使用远程shell程序(可以使用rsh或ssh)
--delete:精确保存副本,源主机删除的文件,目标主机也会同步删除
--include=PATTERN:不排除符合PATTERN的文件或目录
--exclude=PATTERN:排除所有符合PATTERN的文件或目录
--password-file:指定用于rsync服务器的用户验证密码

源路径和目标路径可以使用如下格式:
rsync://[USER@]Host[:Port]/Path <--rsync服务器路径
[USER@]Host::Path <--rsync服务器的另一种表示形式
[USER@]Host:Path <--远程路径
LocalPath <--本地路径




※需要注意的是,来源或目的路径最少要有一个是本地路径,如果忽略本地路径,则只会列出远端的文件列表。


一、下载、安装rsync

可以到 rsync.samba.org下载,我下载的版本是rsync-3.0.0pre10.tar.gz

tar -xzvf rsync-3.0.0pre10.tar.gz

安装 rsync 十分简单, 进入解压目录用以下这条指令即可搞定:

./configure && make && make install

二 设定 /etc/xinetd.d/rsync, 简单如下:

# default: off
# description: The rsync server is a good addition to am ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

然后执行命令 service xinetd restart, 使上述设定生效.

上述, 主要是要打开 rsync 這个 daemon, 一旦有 rsync client 要连接时, xinetd 会把它转介給 rsyncd (跑 port 873).

3. 设定 /etc/rsyncd.conf(需要手动生成) :

以下配置, 代表开放给某一台 rsync client 主机的设定, 如下:


    [mch1]
    path = /bk/server/mch1_backup
    auth users = mch1_backup
    uid = root
    gid = root
    secrets file = /etc/rsyncd.secrets
    read only = no

比较重要的解释:

[mch1] 代表欲备份的主机编号, 名称可自定.

path 用来设定备份档案要存放在那个目录? 请先用 mkdir设定好, 名称自定.

auth users 代表授权的帐号, 名称自定.

secrets file 代表储存帐号密码的文件, 这里放置的路径名.

当然, 这台备份主机, 可以容纳许多 rsync client 连接, 只要在 rsyncd.conf 中设定即可.

代表二个主机 mch1 及 mch2 如下:


[mch1]
    path = /bk/server/mch1_backup
    auth users = mch1_backup
    uid = root
    gid = root
    secrets file = /etc/rsyncd.secrets
    read only = no
   
    [mch2]
    path = /bk/server/mch2_backup
    auth users = mch2_backup
    uid = root
    gid = root
    secrets file = /etc/rsyncd.secrets
    read only = no
再附带一个较完整的rsyncd.conf ,如下:
#vi /etc/rsyncd.conf
全局参数
uid = nobody
gid = nobody
use chroot = no                   //不使用
chrootmax connections = 4               // 最大连接数为4
pid file = /var/run/rsyncd.pid  //pid文件的存放位置
lock file = /var/run/rsync.lock //锁文件的存放位置
log file = /var/log/rsyncd.log  //日志记录文件的存放位置模块参数[web_test]                   // 这里是认证的模块名,在client端需要指定
path = /home/web_test/       // 需要做镜像的目录,不可缺少!
comment = This is a test     //这个模块的注释信息
ignore errors                // 可以忽略一些无关的IO错误
read only = yes              // 只读
list = no                    // 不允许列文件
auth users = test            // 认证的用户名,如果没有这行,则表明是匿名,此 用户与系统无关
secrets file = /etc/backserver.pas // 认证文件名
hosts allow = 1.1.1.1,2.2.2.2 //允许主机
hosts deny = 0.0.0.0/0          //禁止主机
transfer logging = yes
log format = "%a %f %l"#log format = "%o %h [%a] %m (%u) %f %l"
4. 设定密码:
rsyncd.secrets 的內容很简单, 格式为 帐号:密码
如以下例子:
mch1_backup:ILoveOLS3
注意! 上述设定只是一个例子, 请务必自定一组, 不要直接套用.
接下來, 要将 rsyncd.secrets 这个密码文件的属性设为root 拥有, 并且权限设为 600,否则无法备份成功!
因此, 执行以下两条命令:chown root.root rsyncd.secrets
chmod 600 rsyncd.secrets
至此, rsync server 端已设定完成, 若想查看备份记录, 可参考 /var/log/rsyncd.log 这个日志. 接下来是 client 端的设定.
5.设定客户端假设这台主机的IP为: 192.168.1.10 假设把密码文件放在 /root/rsyncd.secrets, 內容只要含有密码一行即可:ILoveOLS3
注意: rsyncd.secrets 的权限属性必須设为 600
接下来 我们来测试一下指令是否可以成功?
/usr/bin/rsync -rvlHpogDtS --password-file=/root/rsyncd.secrets /opt/noplay test@192.168.1.10::mch1
如图所示,就代表成功了。 



可能遇到的问题总结:
1. Q: @ERROR: auth failed on module xxxxx
rsync: connection unexpectedly closed (90 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)
A: 这是因为密码错了, 无法登入成功, 请再检查 rsyncd.secrets 中的密码设定, 二端是否一致?并且已改文件属性为600
2. Q: 出现这个问题, 是怎么回事?password file must not be other-accessiblecontinuing without password filePassword:
A: 這表示 rsyncd.secrets 的文件属性不对,应设为 600 請下 chmod 600 rsyncd.secrets
3. Q: 出现这个问题, 是怎么回事? @ERROR: chroot failed
rsync: connection unexpectedly closed (75 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)
A: 这通常是因为 rsyncd.conf 中的 path 路径所设的那个目录並不存在所致.请先用 mkdir 建立好备份目录.
分享到:
评论

相关推荐

    rsync总结解析,简单易懂版

    linux中rsync总结解析,简单易懂版

    如何在Linux下使用Rsync

    昨天对scp进行总结之后看到后有说到Rsync,俗语有云:好奇心害死猫。抱着学习的态度将Rsync给找了出来,然后进行了一些简单的学习。下面介绍一些个常用的命令。上篇的scp:12个scp传输文件的栗子。  简介  rsync...

    rsync备份重点简单总结详细笔记实战案例

    rsync备份重点简单总结详细笔记实战案例

    linux系统下rsync配置

    此文档本人总结了linux下如何配置两台linux系统之间快速传递庞大数据的方法,总结其他很简单,一个看做服务端,一个看做客户端。通过配置rsync即可。前提是要安装rsync的rpm包,运维的小伙伴很实用!

    Rsync ERROR: auth failed on module解决方法

    今天在两台服务器同步备份在用户权限上纠结了很多,主要关于这个问题网上的配置方法不一,源自rsync版本不一致,这里简单总结下,方便需要的朋友

    Linux运维从入门到高级全套案例v3

    3.1. 1 构建NTP时间服务器 25 3.1. 2 构建DHCP服务器 27 3.1. 3 搭建Samba服务器 29 3.1. 4 搭建NFS服务器 32 3.1. 5 搭建FTP服务器 33 3.1. 6 构建Apache WEB服务器 35 ...9. Linux运维面试总结 127

    高性能Linux服务器构建实战:运维监控、性能调优与集群应用

    其次讲解了开源数据镜像备份工具rsync和umson的使用,并通过两个企业级案例演示了这两个工具在生产环境中的使用过程:最后讲解了如何利用ext3grep工具来恢复误删除的数据文件和MySQL数据库的方法。网络存储应用篇...

    Linux下安装配置Oracle Servers端

    根据其他人的教程在自己的虚拟机上操作后,总结出的配置过程,挣点积分,感谢下载

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    8.3 编译与使用MFS的经验总结 8.3.1 安装选项说明 8.3.2 管理服务器 8.3.3 元数据日志服务器 8.3.4 数据存储服务器 8.3.5 客户端挂载 8.4 管理与使用MFS 8.4.1 在客户端挂载文件系统 8.4.2 MFS常用...

    跟老男孩学Linux运维:Shell编程实战

    / 1588.7 利用Shell函数开发rsync服务启动脚本 / 166第9章 case条件语句的应用实践 / 1699.1 case条件语句的语法 / 1699.2 case条件语句实践 / 1719.3 实践:给输出的字符串加颜色 / 1769.4 case语句企业级...

Global site tag (gtag.js) - Google Analytics