- 浏览: 260757 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
sunfeizhi:
感谢博主
mysqlhotcopy 缺少DBI不能使用问题解决 -
wuxiaochun:
谢谢版主提供所有依赖包的下载地址。
Memcached Session Manager 共享tomcat session设置
rsync 远程数据同步工具详解
rysnc(remote synchronize)在CentOS系统默认安装在/usr/bin,此外rysnc在windows平台下也有相应版本。主页地址为:
http://rsync.samba.org/
rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync本来是用于替代rcp的一个工具,目前由rsync.samba.org维护,所以rsync.conf文件的格式类似于samba的主配
置文件。rsync可以通过rsh或ssh使用,也能以daemon模式去运行,在以daemon方式运行时rsync
server会打开一个873端口,等待客户端去连接。连接时,rsync
server会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,以后则就只需进行增量备份。
------------------------------------------------------------------------------------------------------------------------------------------------------------
rsync的命令格式可以为以下六种:
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@]HOST:DEST
rsync [OPTION]... [USER@]HOST:SRC DEST
rsync [OPTION]... [USER@]HOST::SRC DEST
rsync [OPTION]... SRC [USER@]HOST::DEST
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
对应于以上六种命令格式,rsync有六种不同的工作模式:
1、拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup
2、使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -avz *.c foo:src
3、使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -avz foo:src/bar /data
4、从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av root@172.16.78.192::www /databack
5、从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /databack root@172.16.78.192::www
6、列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://172.16.78.192/www
rsync 命令常用参数
-a 递归方式传输文件,并保持文件属性,等价-rlptgoD不包含-H
-r 子目录以递归模式处理
-l 保持符号链接文件
-H 保持硬链接文件
-p 保持文件权限
-t 保持文件时间信息
-g 保持文件归属组信息
-o 保持文件归属用户信息
-D 保持设备文件和特殊文件
-z 在传输文件时进行压缩处理
--exclude=PATTERN 指定排除一个不需要传输文件匹配模式
--exclude-from=FILE 从FILE中读取排除规则
--include=PATTERN 指定需要传输的文件匹配模式
--include-from=FILE 从FILE中读取匹配规则
--copy-unsafe-links 复制指向复制源路径目录以外的链接文件
--safe-links 忽略指向复制源路径目录以外的链接文件(默认)
--existing 仅更新那些已经存在于接收端的文件,而不复制新创建文件
--ignore-existing 忽略那些已经存在于接收端的文件,只复制新创建文件
-b 当有变化时,对目标目录中的旧文件进行备份
--backup-dir=DIR 与-b结合使用,指定备份路径
--link-dest=DIR 当文件未改变时在指定路径创建硬链接文件
--delete 删除接收端还存在而保存端不存在的文件
--delete-before 接收端在传输之前进行删除操作(默认)
--delete-during 接收端在传输过程中进行删除操作
--delete-after 接收端在传输之后进行删除操作
--delete-excluded 接收端在传输同时进行删除操作
--e,--rsh=COMMAND 指定代替rsh的shell程序,例如可以指定为ssh
--ignore-erros 即使出现I/O错误也要进行删除
--partial 保留因故没有完全传输的文件,以加快随后的再次传输
--progress 在传输时显示传输过程
-p 等价于—partial—progress
--delay-updates 将正在更新的文件先保存到.~tmp~临时目录,待传输完毕再更新目标文件
-v,--verbose 详细输出模式
-q,--quiet 精简输出模式
-h,--human-readable 输出文件大小
-n,--dry-run 显示那些文件将要被传输
--list-only 仅列出文件而不进行复制
--rsync-path=PROGRAM 指定远程服务器上的rsync命令所在路径
--password-file=FILE 指定从FILE中读取口令,避免在终端中输入口令
-4,-6 使用IPv4或者IPv6
--version 打印版本信息
--help 显示帮组信息
注意: 若用普通用户身份运行rsync命令,同步后的文件的属主将改变为这个普通用户身份;若用超级用户身份运行rsync命令同步后文件属性保持原来用户身份不变。若指定-tg但目标计算机没有指定用户和组,则复制的文件归入501用户 501组
------------------------------------------------------------------------------------------------------------------------------------------------------------
启动 rsync 服务
启动 rsync 服务
vi /etc/xinetd.d/rsync 把disable = YES改成NO
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
配置服务端
rsync
rsync 服务器可以独立运行也可以由xinetd运行,CentOS默认以xinetd运行,同时默认监听873端口。需要创建rsync配置文件 vi /etc/rsyncd.conf
在文件中[module]之外的所有配置行都是全局参数,也可以在全局参数部分定义模块参数,模块参数主要功能定义哪个目录要被同步,可以根据需要来定义多个模块
uid
=
root
gid
=
root
max connections
=
10
use chroot
=
no
log file
=
/var/log/rsyncd.log
pid file
=
/var/run/rsyncd.pid
lock file
=
/var/run/rsyncd.lock
[tongbu]
path
=
/opt/tongbu
comment
=
hello world
ignore errors
=
yes
read only
=
no
hosts allow
=
192.168.1.125
hosts deny
=
*
(可以匿名连接,不安全,详细参考以下)
启动并设置随系统启动 rsync,要求 服务端和客户端都启动 ,否则使用的时候报错Connection refused
rsync --daemon –-config=/etc/rsyncd.conf
chkconfig rsync on
------------------------------------------------------------------------------------------------------------------------------------------------------------
全局参数
address 指定的服务器运行的IP地址。由xinetd运行时将忽略此参数
port 指定rsync守护进程监听端口号(默认873)。由xinetd运行时将忽略此参数
motd file 指定一个消息文件,当客户连接服务器时该文件内容将显示给客户
pid file rsync的守护进程将其PID写入指定的文件
log file 指定守护进程的日志文件,而不将日志发给syslog
syslog facility 指定发送日志消息给syslog时的消息级别
socket options 自定义tcp选项
基本模块参数
path 指定当前模块在rsync服务器上的同步路径,必须指定
comment 给模块指定一个描述
控制模块参数
use 默认为true,传输文件之前先chroot到path参数所指定的目录下,这样做实现额外的安全防护,但缺点需要root权限,并且不能备份指向path外部的符号链接所指向的目录文件
uid 制定该模块已指定的UID传输文件
gid 指定该模块已指定的GID文件
max connections 限制最大连接并发数以保护服务器,超过限制则提示稍后操作
lock file 指定支持max connections参数的锁文件,默认/etc/run/rsyncd.lock
list 指定当客户请求列出可以使用的模块列表时(默认ture),该模块是否被列出。如果false,可以创建隐藏的模块
read only 是否也许客户上传文件,默认ture则不也许上传。为false并且服务器目录具有读写权限则允许上传
write only 是否也许客户上传文件,默认ture则不也许下载。为false并且服务器目录具有读写权限则允许下载
ignore errors 指定rsync服务器在运行delete操作时是否忽略I/O错误
ignore nonreadable 指定rysnc服务器忽略那些没有访问文件权限的用户
timeout 设定连接超时时间,单位为秒
dont compress 告诉rysnc那些文件在传输前不用压缩,默认已设定压缩包不再进行压缩
refuse options 定义一些不允许客户对该模块使用的命令选项列表
文件筛选模块参数
exclude 指定排除的多个文件或目录,由空格隔开
exclude from 从指定文件中读取排除规则
include 指定包含复制多个文件或者目录,由空格隔开
include from 从指定文件中读取包含规则
用户认证模块参数
auth users 指定用户才允许连接该模块
secrets file 指定一个口令认证文件,格式是 用户:密码,即指定用户和密码连接匹配才行,不匹配的话会提示ERROR: auth failed on module,不设置该参数则可以匿名连接。
strict modes 指定是否检测口令文件权限。rsync认证口令文件权限一定是600
访问控制参数
hosts allow 指定哪些IP可以访问该模块
hosts deny 指定哪些IP不可以访问该模块,*表示全部
发表评论
-
Memcached Session Manager 共享tomcat session设置
2014-02-27 14:05 2395wget http://memcached-session- ... -
内存类型查看
2013-12-27 11:11 670查看内存的插槽数,已经使用多少插槽.每条内存多大,已使用内存多 ... -
域名记录类型
2013-12-27 11:10 779记录类型 用来设置子域名记录类型 A记录:地址记录,用来指定 ... -
Linux 日志管理
2013-10-16 11:04 1030Linux 有三个主要日志子系统: 连接时间日 ... -
公钥与私钥
2013-06-19 10:59 785公钥与私钥 I.开启SSH公钥认证 vim /e ... -
chmod 设置文件特殊权限
2013-03-19 17:04 1977linux中除了常见的读(r)、写(w)、执行(x)权限以外 ... -
JAVA 内存的那些事
2013-01-16 15:54 12728(转载)固然Java屏蔽了一下内存细节,但是有时候,了解一下 ... -
nice调整SSHD的启动优先级别
2012-03-01 09:51 1591转载自素食勤俭敬老孝 ... -
CentOS6 网络配置
2011-09-21 12:38 1720修改对应网卡的IP地址的配置文件# vi /etc/sy ... -
Tomcat 7 日志配置
2011-09-09 10:29 4135Tomcat 日志分为两类:1、访问日志,记录访问的时间、访 ... -
scp: command not found找不到scp命令
2011-08-30 17:33 3999今天装了CENTOS6 64bit,使用scp的时候提示scp ... -
samba 安装配置
2011-08-22 17:12 1238有了 samba,Linux 就可以像 window ... -
RPMForge安装
2011-08-19 14:54 7764RPMForge是CentOS系统下的软件仓库,拥有4000多 ... -
用户ID管理
2011-07-05 15:17 854最近发现 rsync 同步文件到别的服务器上文件权限会变 ... -
安装和配置phpMyAdmin 详解
2011-07-04 11:06 2297安装和配置phpMyAdmin 去p ... -
PHP SAFE MODE Restriction in effect 的问题
2011-06-25 10:45 2448当safe_mode设置为 on,PHP 将通过文件函数或其目 ... -
php下添加pdo_mysql扩展
2011-06-20 11:05 2546下载wget http://pecl.php.net/get/ ... -
session_start(): Failed to initialize storage module 解决办法
2011-06-14 18:36 1065查看 phpinfo 信息 session.save_ ... -
inotify
2011-06-07 10:00 572inotifywait 仅执行阻塞,等待 ino ... -
iptables 命令操作
2011-05-23 16:55 1469iptables是基于内核的防火墙,,iptables内置 ...
相关推荐
rsync远程同步
亲测,有疑问可以加我,共同讨论学习!
rsync远程同步软件包
rsync+inotify 实时远程同步详细部署
rsync远程同步.doc
图解rsync数据同步部署文档.docx
rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync软件适用于unix/linux/windows等多种操作系统平台。下面这篇文章主要介绍了Linux下rsync命令的相关资料,需要的...
rsync数据同步手册.pdf
Windows下使用Git+rsync构建文件同步工具所需要的文件,可直接将包的内容复制到git安装目录下
linuxrsync安装配置及命令详解.pdf
rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 rsync 同步本地硬盘中的不同目录。 rsync和scp的区别: rsync支持增量同步,不管是文件数量的新增还是文件...
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步
innotify数据同步,rsync+innotify
linux 下rsync文件夹同步配置,可以定时。
可通过ssh进行网络加密传输,也可以利用ssh客户端密钥建立信任关系。当在两台计算机之间保持大型、复杂目录结构的同步时候,比tar或wget等方式都要快。而且可以做到精确同步
Rsync命令参数详解
Centos7搭建Rsync+inotify远程同步(详解)-附件资源
rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器...
用rsync实现windows和windows、windows与linux、linux与linux之间的数据同步 含本人自己使用时的配置说明和搜集的安装教程 设置之后可以达到开机就同步一次数据的功能 可以用于svn仓库和其他重要数据的的备份