一、rsync的基本语法:
需要注意的是,通过daemon接入和Shell接入,如果使用的是 User@HOST这样的格式,那么它们的区别是,daemon使用的是::,而Shell使用的是:;
Local: rsync [OPTION...] SRC... [DEST]
Access via remote shell 通过shell接入:
接收Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
发送Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
Access via rsync daemon 通过daemon接入:
接收Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
发送Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST Rsnc命令的常用选项:
Options
-v, --verbose increase verbosity 显示信息
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)归档
--no-OPTION turn off an implied OPTION (e.g. --no-D)
-z, --compress compress file data during the transfer压缩
--compress-level=NUM explicitly set compression level
一些使用例子:
rsync -t *.c foo:src/
rsync -avz foo:src/bar /data/tmp
rsync -avz foo:src/bar/ /data/tmp
rsync -av /src/foo /dest rsync -av /src/foo/ /dest/foo
传送多个文件时,第二个文件可以省略主机写法:
rsync -av host:file1 :file2 host:file{3,4} /dest/
rsync -av host::modname/file{1,2} host::modname/file3 /dest/
rsync -av host::modname/file1 ::modname/file{3,4}
二、连接Rsync Daemon服务
Rsync通常使用Tcp 873端口:
rsync -av targethost1::module/src/ /dest/
rsync -av rsync:://targethost2/module/src/ /dest/you either use a double colon :: instead of a single colon to separate the hostname from the path, or you use an rsync:// URL.使用双冒号或者URL的格式连接;
the first word of the "path" is actually a module name. 路径的第一个词实际上是模块名字;
the remote daemon may print a message of the day when you connect.连接远程Daemon,客户端会打印连接的时间
if you specify no path name on the remote daemon then the list of accessible paths on the daemon will be shown. 如果没有指定远程daemon服务的路径名称,那么将列出所有daemon上允许进入的路径;
if you specify no local destination then a listing of the specified files on the remote daemon is provided.
you must not specify the --rsh (-e) option.如果没有指定本地的目的路径,那么将列出请求的daemon服务路径上的文件;
三、配置Rsync Daemon服务
Rsyncd.conf文件时rsync daemonyun运行时的配置文件,它控制了认证,接入,日志和可用的模块(modules)
rsyncd.conf文件包含了模块和参数,一个模块由方括号括起来,模块的参数的格式为“nam=values”
=号前面和后面不能有空格,参数值value前面或者后面的空格将被丢弃,参数值value都是字符或者布尔值,不需要引号引起来,
启动daemon服务需要在rsync命令后面加上--daemon选项,如果需要使用chroot,绑定低于1024端口(默认端口873),或者设置文件的所有者权限,那么必须要在root权限下运行:
启动daemon服务可以通过在系统上inited(RHEL6,RHEL7是xinited)上启动,作为独立的运行服务,或者通过shell使用远程的rsync客户端操作:
第一种方法,在系统上独立运行:
1、首先确保在/etc/services文件里面加入以下内容,RHEL7默认已经添加:
rsync 873/tcp # rsync
rsync 873/udp # rsync
CentOS 6.5下Rsync远程同步
Ubuntu Linux下用Rsync进行数据备份和同步配制