rsync的用法

一、用法例子

1、增量备份本地文件
#rsync -av ebook/ tmp/ //注意:文件名中最好不要有 :
#rsync -avzrtopgL --progress /src /dst

2、本地和远程目录同步
#rsync -auv --delete program doc /media/CBDISK/project/ //同步到U盘上
#rsync -auv --delete program doc cb@23.65.55.48:/home/cb/doc/working/project/ //和远程主机同步,需要输入远程主机密码
#rsync -auv --delete -e ssh program doc cb@23.65.55.48:/home/cb/doc/working/project/ //和远程主机同步,可设置ssh无密码登录远程主机,不需要输入远程主机密码

3、rsync+ssh应用实例
案例要求:
1) 以root身份,将远程主机cb251上的/data/Ubuntu目录同步到本机/data目录下
2) 同步完成后,将远程主机cb251关机
3) 自己关机

#rsync -auv -e ssh root@cb251:/data/Ubuntu /data/;sync; ssh root@cb251 /sbin/shutdown -h now;/sbin/shutdown -h now

无密码登陆远程主机cb251请参考ssh无密码登陆远程主机

4、排除
rsync -auv --delete --exclude '.git' $SRC_DIR/program $DEST_DISK/project/

二、常用选项说明

-v是“--verbose”, 即详细模式输出
-z表示“--compress”,即传输时对数据进行压缩处理
-r表示“--recursive”,即对子目录以递归的模式处理
-t是“--time”,即保持文件时间信息
-o表示“owner”,用来保持文件属主信息
-p是“perms”,用来保持文件权限
-g是“group”,用来保持文件的属组信息
-L是“copy-links”, 传输链接的实际文件
--delete 选项指定以rsync服务器端为基础进行数据镜像同步,也就是要保持rsync服务器端目录与客户端目录的完全一致
--exclude 选项用于排除不需要传输的文件类型
--progress 选项用于显示数据镜像同步的过程

 

三、rsync的优点与不足

 1、优点
与传统的cp、tar备份方式对比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如,定期地备份文件服务器数据到远端服务器,对本地磁盘定期进行数据镜像等。
2、不足
sync做数据同步时,需要扫描所有文件后进行对比,然后进行差量传输。如果文 件很大,扫面文件是非常耗时的,而且发生变化的文件往往是很少一部分,因此rsync是非常低效的方式。
其次,rsync不能实时监测、同步数据,虽然它 可以通过Linux守护进程的方式触发同步,但是两次触发动作一定会有时间差,可能导致服务器端和客户端数据出现不一致。
 
原文地址:https://www.cnblogs.com/pandachen/p/5877167.html