rsync
是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:
- 1、可以镜像保存整个目录树和文件系统。
- 2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。
- 3、无须特殊权限即可安装。
- 4、优化的流程,文件传输效率高。
- 5、可以使用rsh、ssh等方式来传输文件,当然也可以通过直接的socket连接。
- 6、支持匿名传输。
在使用rsync 进行远程同步时,可以使用两种方式:远程Shell方式(用户验证由 ssh 负责)和 C/S 方式(即客户连接远程rsync服务器,用户验证由rsync服务器负责)。
无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。
rsync+ssh
在常驻模式(daemon mode)下,rsync默认监听TCP端口873。SSH情况下,rsync用户端执行程式必须同时在本地和远程机器上安装。
rsync在首次复制时没有速度优势,速度不如tar,因此当数据量很大时您可以考虑先使用tar 进行首次复制,然后再使用rsync进行数据同步。
另外,无法实现实时更新,如果想实现实时更新rsync需要借助lsyncd工具
rsync一些选项:
- –delete : delete files that don’t exist on sender (system) 删除DST中SRC没有的文件
- -v : Verbose (try -vv for more detailed information) 详细模式显示
- -e “ssh options” : specify the ssh as remote shell 指定ssh作为远程shell
- -a : archive mode 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
- -l(–links) 保留软链接
- -p(–perms) 保留文件权限
- -t(–times) 保留文件时间信息
- -g(–group) 保留属组信息
- -o(–owner) 保留文件属主信息
- -D(–devices) 保留设备文件信息
- -r : recurse into directories 递归
- -z : compress file data 压缩文件
增量备份
A–>B 同步 本地到远端:
rsync -av /src_dir/ user@IP_Addres:/dest_dir/
B–>A 同步 远端到本地:
rsync -av user@IP_Addres:/src_dir/ /dest_dir/
镜像备份
A–>B 同步 本地到远端:
rsync -av --delete /src_dir/ user@IP_Addres:/dest_dir/
B–>A 同步 远端到本地:
rsync -av --delete user@IP_Addres:/src_dir/ /dest_dir/
举例:
常规增量备份
A:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
B:
1 2 3 |
|
镜像备份
A:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
B:
1 2 |
|
使用增量备份后就会删除同步另一端的文件保持两者相同,即镜像同步,而增量备份则不会出现这种现象。推荐在使用过程中使用-n
选项先测试一遍再真实操作,以防误操作
–EOF–