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 建立好备份目录.
分享到:
相关推荐
### SSH使用rsync工具详解 #### 一、引言 在IT运维管理中,文件同步是一项常见的需求。尤其是在处理大型目录结构时,如何高效、安全地进行数据同步变得尤为重要。`rsync`作为一种强大的文件同步工具,结合SSH协议...
例如,可以指定使用SSH协议进行数据传输,也可以使用rsync自己的协议,或者直接使用远程shell协议等。 此外,rsync还可以与inotify这一实时文件系统事件监控工具配合使用,实现实时监控文件系统的变化,并在发生...
### Linux Rsync命令使用手册详解 #### 概述 Rsync 是一款快速且功能极其强大的文件复制工具。它能够实现本地文件复制、通过任何远程Shell(例如 SSH 或 RSH)进行远程主机之间的文件复制,或者与远程 rsync 守护...
总结,rsync在Android环境中的应用扩展了移动设备的数据管理能力,通过其高效的同步机制,为开发者和普通用户提供了一种便捷的数据管理和迁移工具。"android_external_rsync"项目使得rsync能够在Android平台上顺利...
总结,rsync服务器的搭建和使用涉及安装软件、配置服务、启动守护进程以及执行同步命令。通过理解rsync的配置选项和命令行参数,我们可以根据实际需求定制高效的文件同步解决方案。记得在生产环境中实施rsync时,...
下面是关于rsync数据同步手册的知识点总结: 一、系统环境 在开始使用rsync之前,需要了解系统环境的基本配置。包括操作系统、文件系统、网络连接等方面的设置。了解系统环境可以帮助我们更好地配置rsync和解决...
### rsync中文手册:使用rsync实现网站镜像及备份 #### 一、引言 在中小型企业或网站中,采用Linux作为应用平台时,如何有效地实现数据远程备份或者网站镜像成为了一个重要的议题。虽然市场上存在一些商业化的备份...
总结,Rsync是服务器同步的重要工具,结合FTP服务,可以提供全面的数据管理方案。了解并熟练掌握Rsync的使用,有助于提升服务器维护效率,保障数据的安全性和完整性。对于Windows和Linux用户,都有对应的Rsync客户端...
rsync 备份重点简单总结详细笔记实战案例 rsync 是一个功能强大且灵活的备份工具,常用于远程同步备份数据。下面是 rsync 备份的重点和简单总结: 1. rsync 服务端和客户端: rsync 服务端需要开启 rsync 服务和 ...
使用 Rsync + inotify 实现实时远程同步 Rsync 是一个功能强大且广泛使用的文件同步工具,它可以快速、安全、可靠地同步文件。在服务器之间同步文件时,Rsync 是一个不二之选。Inotify 是一个 Linux 内核提供的文件...
但是,在使用rsync时,可能会遇到各种错误,本文将总结一些常见的rsync错误及其解决方法。 一、@ERROR: chroot failed(rsync error: error starting client-server protocol (code 5)) 这种错误的原因是服务器端的...
### 使用rsync同步详解 #### 一、rsync概述 **rsync**(远程同步工具)是一种高效的数据同步工具,广泛应用于局域网(LAN)和广域网(WAN)环境中,用以快速同步多台主机之间的文件或本地硬盘内的不同目录。rsync...
总结来说,rsync是一款功能强大的文件同步工具,适用于各种环境下的数据备份和同步需求。其增量同步、丰富的选项配置、内置压缩和安全特性,以及广泛的平台支持,都使其在同类软件中脱颖而出。对于任何需要管理多台...
总结,rsync 3.2.2的源码安装涉及下载源码、安装依赖、编译、配置Systemd服务以及安全设置等多个环节。通过掌握这些步骤,你可以有效地在本地和远程系统间实现数据的同步和备份,提高运维效率。同时,理解rsync的...
使用命令`sudo rsync --daemon`启动rsync服务。若希望开机自启,可以将命令添加到启动脚本中。 ##### 4.3 配置cwRsync客户端 - **安装cwRsync客户端** 下载并安装cwRsync客户端。 - **配置同步任务** 使用...
总结,rsync 3.1.2作为一个强大的文件同步工具,其高效、灵活的特点使其在各种场景下都能发挥重要作用。掌握rsync的安装、配置和使用,能提升我们在数据管理、备份和迁移中的专业能力。通过深入了解和实践,rsync将...
本文将对`rsync`服务的配置文件`rsyncd.conf`中的关键配置项进行深入解析,并通过实例演示如何使用这些配置来实现高效的数据同步。 #### 二、rsyncd.conf配置详解 ##### 1. `comment` - **功能**:定义模块的注释...
在使用 rsync 时,我们经常会遇到各种错误,这篇文章将总结一些常见的错误及其解决方法。 1. @ERROR: chroot failed rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=...