功能:
rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据镜像同步备份的优秀工具。rsync适用于Unix/Linux/Windows等多种操作系统平台。
语法:
rsync有三种常见的模式
1)本地模式
rsync 【option】 【SRC】【DEST】
相当于cp命令
2)通过远程shell访问模式
拉取(Pull):
rsync [option] [USER@]HOST:SRC [DEST]
rsync [选项] 用户@主机:源文件 [目标文件]
推送(Push):
rsync [option] [SRC] [USER@]HOST:DEST
rsync [选项] [源文件】 用户@主机:目标文件
3)rsync守护进程模式
拉取(Pull):
rsync [option] [USER@]HOST::SRC [DEST]
rsync [选项] 用户@主机::源文件 [目标文件]
推送(Push):
rsync [option] SRC [USER@]HOST::DEST
rsync [选项] [源文件] 用户@主机::目标文件
常用选项:
-a 以递归方式传输文件,并保持原文件的属性
-z 传输时进行压缩,提高传输效率
-v 详细模式输出
-P 显示同步的过程及传输时的进度等信息
-exclude-from=file 从文本文件中读取需要排除的文件列表
--delete 使目标目录内容和源保持目录一直,删除不同的文件
范例1:
[root@fenfa tmp]# mkdir -p /data1/{test1,test2,test3} /data2
You have mail in /var/spool/mail/root
[root@fenfa tmp]# rsync -av /data1/ /data2
当通过rsync同步的时候,源文件带/,表示复制目录内容,而不是目录本身,如果不带/,者是复制目录本身到指定位置
范例2:
一个目录下有几十万个文件,用什么方式可以最快删除所有文件?
[root@fenfa tmp]#mkdir /null
[root@fenfa tmp]# rsync -av --delete /null/ /tmp/
范例3: 拉取文件或目录到本地
[root@fenfa tmp]# rsync -avz 10.2.11.229:/server/scripts/ /tmp/
root@10.2.11.229's password:
receiving incremental file list
./
yum_install_nginx.sh
sent 33 bytes received 561 bytes 132.00 bytes/sec
total size is 800 speedup is 1.35
You have mail in /var/spool/mail/root
[root@fenfa tmp]# ll
total 4
-rwxr--r-- 1 root root 800 Jan 10 17:57 yum_install_nginx.sh
[root@fenfa www]# rsync -avz /var/www/www.tar.gz 10.2.11.229:/tmp
root@10.2.11.229's password:
sending incremental file list
www.tar.gz
范例4:
使用rsync同步数据都是明文传输的,在要求保障数据安全的场景下,可以使用-e选项借助SSH隧道进行加密传输数据,-p是SSH命令的选项
[root@fenfa /]# tar zcvf etc.tar.gz ./etc/
[root@fenfa /]# rsync -avz -e 'ssh -p 22' etc.tar.gz 10.2.11.229:/tmp
root@10.2.11.229's password:
sending incremental file list
etc.tar.gz
sent 190429271 bytes received 31 bytes 12285761.42 bytes/sec
total size is 190365292 speedup is 1.00
You have mail in /var/spool/mail/root
- 第一章:文件和目录操作类命令
- 第一节:pwd命令
- 第二节:cd命令
- 第三节:mkdir命令
- 第四节:touch命令
- 第五节:ls命令
- 第六节:cp命令
- 第八节: mv命令
- 第九节:ln命令
- 第十节:find命令
- 第十一节:chattr命令
- 第十二节:chown命令
- 第十三节:chmod命令
- 第二章:文件过滤和内容编辑类命令
- 第一节: cat命令
- 第二节:less命令
- 第三节:head命令
- 第四节:tail命令
- 第五节:cut命令
- 第六节:sort命令
- 第七节:wc命令
- 第八节:tr命令
- 第三章:文本处理三剑客
- 第一节:grep命令
- 第二节:sed命令
- 第四章:linux信息显示类或搜索命令
- 第一节:uname命令
- 第二节:du命令
- 第三节:data命令
- 第四节:echo命令
- 第五节:watch命令
- 第五章: 文件备份和压缩类命令
- 第一节:tar命令
- 第二节:gzip压缩
- 第三节:zip和upzip命令
- 第四节:scp命令
- 第五节: rsync文件同步工具命令
- 第六章:Linux用户管理及用户信息查询类命令
- 第一节:useradd命令
- 第二节:usermod命令
- 第三节:userdel命令
- 第四节:groupadd和groupdel命令
- 第五节:passwd命令
- 第六节:su命令
- 第七节:visudo命令
- 第八节:id命令
- 第九节:w和who命令
- 第十节:last和lastb命令
- 第七章: Linux磁盘及文件系统管理
- 第一节:fdisk命令
- 第二节: partprobe命令
- 第三节:parted磁盘分区工具
- 第四节:mkfs命令
- 第五节:dumpe2fs命令
- 第六节: fsck命令
- 第七节:mount和umount命令
- 第八节:dd命令
- 第九节:df命令