功能:
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命令