1、可以镜像保存整个目录树和文件系统。
2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。
3、无须特殊权限即可安装。
4、优化的流程,文件传输效率高。
5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
6、支持匿名传输。
在使用 rsync 进行远程同步时,可以使用两种方式:远程 Shell 方式(建议使用 ssh,用户验证由 ssh 负责)和 C/S 方式(即客户连接远程 rsync 服务器,用户验证由 rsync 服务器负责)。
无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。
rsync+ssh
在常驻模式(daemon mode)下,rsync默认监听TCP端口873。SSH情况下,rsync用户端执行程式必须同时在本地和远程机器上安装。
rsync 在首次复制时没有速度优势,速度不如 tar,因此当数据量很大时您可以考虑先使用 tar 进行首次复制,然后再使用 rsync 进行数据同步。
另外,无法实现实时更新,如果想实现实时更新rsync需要借助lsyncd工具
增量备份
rsync -av /src_dir/ user@IP_Addres:/dest_dir/
A-->B 同步 本地到远端
rsync -av user@IP_Addres:/src_dir/ /dest_dir/
B-->A 同步 远端到本地
镜像备份
rsync -av --delete /src_dir/ user@IP_Addres:/dest_dir/
A-->B 同步 本地到远端
rsync -av --delete user@IP_Addres:/src_dir/ /dest_dir/
B-->A 同步 远端到本地
举例:
-----------------------常规增量备份-------------------------
A:
[root@server www]# ls
a b c d
[root@server www]# rsync -av /www/ root@10.1.1.95:/www/
root@10.1.1.95's password:
building file list ... done
./
a
b
c
d
sent 262 bytes received 114 bytes 107.43 bytes/sec
total size is 0 speedup is 0.00
[root@server www]#
B:
[root@localhost www]# ls //发现同步成功
a b c d
[root@localhost www]#
-----------------------常规增量备份-------------------------
-----------------------镜像备份-------------------------
A:
[root@server www]# rm -rf *
[root@server www]# rsync -av /www/ root@10.1.1.95:/www/
root@10.1.1.95's password:
building file list ... done
sent 52 bytes received 20 bytes 28.80 bytes/sec
total size is 0 speedup is 0.00
[root@server www]#
B:
[root@localhost www]# ls //删除同步端的文件同步的另外一端在增量备份中不受影响
a b c d
[root@localhost www]#
A:
[root@server www]# rsync -av --delete /www/ root@10.1.1.95:/www/
root@10.1.1.95's password:
building file list ... done
deleting d
deleting c
deleting b
deleting a
./
sent 62 bytes received 26 bytes 35.20 bytes/sec
total size is 0 speedup is 0.00
[root@server www]#
B:
[root@localhost www]# ls //使用增量备份后就会删除同步另一端的文件保持两者相同,即镜像同步
[root@localhost www]#
-----------------------镜像备份-------------------------