rsync詳解之exclude排除文件
問(wèn)題:如何避開(kāi)同步指定的文件夾? --exclude rsync --exclude files and folders
http://articles.slicehost.com/2007/10/10/rsync-exclude-files-and-folders
很常見(jiàn)的情況:我想同步/下的 /usr /boot/ , 但是不想復(fù)制/proc /tmp 這些文件夾
如果想避開(kāi)某個(gè)路徑 直接添加--exclude 即可
比如
--exclude “proc”
--exclude ‘sources’
Note: the directory path is relative to the folder you are backing up.
注意:這個(gè)路徑必須是一個(gè)相對(duì)路徑,不能是絕對(duì)路徑
例子:源服務(wù)器/home/yjwan/bashshell有一個(gè)checkout文件夾
[root@CentOS5-4 bashshell]# ls -dl checkout
drwxr-xr-x 2 root root 4096 Aug 21 09:14 checkou
現(xiàn)在想要完全避開(kāi)復(fù)制這個(gè)文件夾內(nèi)容怎么辦?
目標(biāo)服務(wù)器執(zhí)行
rsync -av --exclude “checkout” yjwan@172.16.251.241:/home/yjwan/bashshell /tmp
將不會(huì)復(fù)制這個(gè)文件夾
[root@free /tmp/bashshell]# ls -d /tmp/bashshell/checkout
ls: /tmp/bashshell/checkout: No such file or directory
注意:
1、事實(shí)上,系統(tǒng)會(huì)把文件和文件夾一視同仁,如果checkout是一個(gè)文件,一樣不會(huì)復(fù)制
2 、如果想避開(kāi)復(fù)制checkout里面的內(nèi)容,可以這么寫(xiě)--exclude “checkout/123”
3 、切記不可寫(xiě)為 --exclude “/checkout”這樣絕對(duì)路徑
這樣寫(xiě) 將不會(huì)避免checkout被復(fù)制
比如
[root@free /tmp/bashshell]# rsync -av --exclude “/checkout” yjwan@172.16.251.241:/home/yjwan/bashshell /tmp
receiving file list … done
bashshell/checkout/
4、可以使用通配符 避開(kāi)不想復(fù)制的內(nèi)容
比如--exclude “fire*”
那么fire打頭的文件或者文件夾全部不會(huì)被復(fù)制
5、如果想要避開(kāi)復(fù)制的文件過(guò)多,可以這么寫(xiě)
--exclude-from=/exclude.list
exclude.list 是一個(gè)文件,放置的位置是絕對(duì)路徑的/exclude.list ,為了避免出問(wèn)題,最好設(shè)置為絕對(duì)路徑。
里面的內(nèi)容一定要寫(xiě)為相對(duì)路徑
比如 我想避開(kāi)checkout文件夾和fire打頭的文件
那么/exclude.list 寫(xiě)為
checkout
fire*
然后執(zhí)行以下命令,注意寫(xiě)為--exclude-from或者--exclude-from=都可以
但是不能為--exclude
rsync -av --exclude-from=”/exclude.list” yjwan@172.16.251.241:/home/yjwan/bashshell /tmp
檢查結(jié)果:確實(shí)避開(kāi)了checkout文件夾和fire打頭的文件
問(wèn)題:如何計(jì)算對(duì)比復(fù)制以后的文件數(shù)量是否正確呢?
1、查看錯(cuò)誤日志,看是否復(fù)制時(shí)候出問(wèn)題了
2、在源服務(wù)器執(zhí)行可知道具體文件和文件夾的總個(gè)數(shù)
ls –AlR|grep “^[-d]”|wc
然后目標(biāo)服務(wù)器在計(jì)算一遍個(gè)數(shù)
看看數(shù)字是不是能對(duì)的上就ok了
對(duì)不上再研究怎么回事
3、現(xiàn)在的問(wèn)題是:如果我使用了--exclude參數(shù)就麻煩了
我怎么知道要復(fù)制幾個(gè)文件?
首先,前面命令時(shí)候提到過(guò)一種寫(xiě)法,就是只有源地址,沒(méi)有目標(biāo)地址的寫(xiě)法,這種寫(xiě)法可以用來(lái)列出所有應(yīng)該被復(fù)制的文件
那么用這個(gè)命令,可以計(jì)算出這個(gè)/root/bashshell下面文件和文件夾數(shù)量
在服務(wù)器端執(zhí)行
[root@CentOS5-4 bashshell]# rsync -av /root/bashshell/ |grep “^[-d]” | wc
62 310 4249
和ls 得到的結(jié)果一致的
[root@CentOS5-4 bashshell]# ls -AlR |grep “^[-d]“|wc
62 558 3731
因此,比如說(shuō)我不要fire 打頭的文件,可以在服務(wù)器端先這樣計(jì)算要復(fù)制的文件
[root@CentOS5-4 bashshell]# rsync -av --exclude “fire*” /root/bashshell/ |grep “^[-d]” | wc
44 220 2695
然后復(fù)制過(guò)去
看目標(biāo)機(jī)器的文件和文件夾數(shù)量為
[root@free /tmp]# ls -AlR /tmp/bashshell/ |grep “^[-d]“|wc
44 396 2554
可以知道2者是同步的
問(wèn)題:Rsync的其他幾個(gè)常見(jiàn)參數(shù)
1、
-z –compress compress file data during the transfer
--compress-level=NUM explicitly set compression level
--skip-compress=LIST skip compressing files with suffix in LIST
壓縮傳輸,如果網(wǎng)絡(luò)帶寬不夠,那么應(yīng)該壓縮以后傳輸,消耗的當(dāng)然是機(jī)器資源,但是如果內(nèi)網(wǎng)傳輸?shù)脑?,文件?shù)量不是很多的話,這個(gè)參數(shù)不必要的。
2、
--password-file=FILE
前面說(shuō)過(guò)了,只有遠(yuǎn)端機(jī)器是rsync服務(wù)器,才能用這個(gè)參數(shù)
如果你以為個(gè)FILE寫(xiě)的是ssh 登陸的密碼,那就大錯(cuò)特錯(cuò)了,不少人犯了這個(gè)錯(cuò)誤。
3、
–stats: Adds a little more output regarding the file transfer status.
4、
–progress: shows the progress of each file transfer. Can be useful to know if you have large files being backup up.
關(guān)于這個(gè)參數(shù):
I frequently find myself adding the -P option for large transfers. It preserves partial transfers in case of interuption, and gives a progress report on each file as it’s being uploaded.
I move large media files back and forth on my servers, so knowing how long the transfer has remaining is very useful.
•Previous Entry: nginx 每天定時(shí)切割Nginx日志的腳本
•Next Entry: 如何開(kāi)啟MySQL的遠(yuǎn)程帳號(hào)
相關(guān)文章
win10同網(wǎng)段/跨網(wǎng)段訪問(wèn)虛擬機(jī)samba服務(wù)器的過(guò)程記錄
這篇文章主要介紹了win10同網(wǎng)段/跨網(wǎng)段訪問(wèn)虛擬機(jī)samba服務(wù)器,主要包括環(huán)境搭建和ubuntu端的安裝配置過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06自設(shè)代理服務(wù)器緩存圖片節(jié)省上網(wǎng)流量
用移動(dòng)公司的手機(jī)上網(wǎng)套餐,用電腦通過(guò)手機(jī)上網(wǎng),這個(gè)相信已經(jīng)有一部分人在進(jìn)行了。怎樣節(jié)省流量,是一個(gè)大問(wèn)題。2011-01-01利用Ansible實(shí)現(xiàn)批量服務(wù)器自動(dòng)化管理詳解
Ansible是基于Python開(kāi)發(fā)的,采用YAML語(yǔ)言編寫(xiě)自動(dòng)化腳本playbook,?可以在Linux、Unix等系統(tǒng)上運(yùn)行,?本文主要介紹了如何利用Ansible實(shí)現(xiàn)批量服務(wù)器自動(dòng)化管理,需要的可以參考下2024-01-01dell 服務(wù)器開(kāi)機(jī)總是提示按F1才能進(jìn)入系統(tǒng)解決方法
這篇文章主要介紹了dell 服務(wù)器開(kāi)機(jī)總是提示按F1才能進(jìn)系統(tǒng)解決方法,不過(guò)提示上面一般都會(huì)有具體的提示信息,這里簡(jiǎn)單分享一下,需要的朋友可以參考下2016-04-04聯(lián)想服務(wù)器X3650 M2 配置RAID5與熱備盤(pán)圖文方法
這篇文章主要介紹了聯(lián)想服務(wù)器X3650 M2 配置RAID5與熱備盤(pán)圖文方法,需要的朋友可以參考下2018-05-05