rsync 远程同步
格式:
- rsync [OPTION]... SRC DEST
- rsync [OPTION]... SRC [[email protected]]HOST:DEST //用户名默认为当前终端的用户
- rsync [OPTION]... [[email protected]]HOST:SRC DEST
- rsync [OPTION]... [[email protected]]HOST::SRC DEST
- rsync [OPTION]... SRC [[email protected]]HOST::DEST
-v:显示详细信息
-a:以递归方式传输文件,并保持所有属性;等同于-rlpogtD,-a选项后可跟--no-OPTION参数,用于减去某个选项(一个),如-a --no-l
-r:递归模式,即传输时保持目录结构
-l:传输软链接文件,默认不传输
-L:当SRC包含软链接文件时,传输软链接文件所指向目标文件
-H:保留硬链接,默认使用不同的inode存放
-p:保持文件权限
-o:保持文件所属者信息
-g:保持文件所属组信息
-t:保持文件时间信息
-D:保持设备文件信息
--delete:删除DST中SRC里没有的文件
--exclude=PATTERN:传输时排除指定文件,可使用通配符
-P|--progress:显示传输进度
-u:当DST中的文件比SRC中的文件还新时,不进行覆盖
-z:压缩传输
-e "ssh -p xxx":使用指定端口,或"--rsh=ssh -p xxx"
-R:创建级联目录
--file-from=file-path:根据指定的文件列表文档进行同步
--include=PATTERN --exclude="*": 只同步指定类型的文件
diff file1 file2:对比2个文件的差异
同步目录下的文件时,请一定记得加/
rsync同步之ssh隧道方式
yum install -y openssh-clients //需要安装openssh-clients包
如果要实现自动化同步(无须输入密码), 就得使用密钥认证,在创建密钥时,不设置密钥密码。
这种方式就是使用ssh方式连接到远端主机,然后启动rsync进程,以使双方能够进行rsync同步,同步完成后关闭rsync进程。
rsync后台服务模式
--port:指定连接的服务器端口,默认873
rsync HOST:: //列出list=yes的模块名,不需要用户认证
rsync --daemon --confg=/etc/rsyncd.conf //启动rsync守护进程,并指定配置文件
如果要实现自动化同步(无须输入密码),有2种方法,在rsync配置文件中不指定auth users和secrets file,或者使用--password-file=path参数;配置文件更改后无须重启rsync服务。
注:rsync服务端的认证文件和客户端的密码文件的权限要设置为600.
这种方式就是启用rsync的守护进程(daemon),打开一个端口(默认873)并侦听它,等待rsync客户端发起连接请求。