佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Rsync 秒殺一切備份工具,你能手動屏蔽某些目錄嗎?

Rsync 秒殺一切備份工具,你能手動屏蔽某些目錄嗎?

熱門標(biāo)簽:服務(wù)外包 地方門戶網(wǎng)站 鐵路電話系統(tǒng) 呼叫中心市場需求 網(wǎng)站排名優(yōu)化 AI電銷 百度競價排名 Linux服務(wù)器

引言

Rsync 是一種快速且通用的命令行實用程序,可通過遠(yuǎn)程shell在兩個位置之間同步文件和文件夾。

使用 Rsync,可以鏡像數(shù)據(jù),創(chuàng)建增量備份,并在系統(tǒng)之間復(fù)制文件。復(fù)制數(shù)據(jù)時,你可能要根據(jù)文件名或位置排除一個或多個文件或目錄。

在本文中,我們將展示如何使用rsync排除文件和目錄。

準(zhǔn)備工作

先簡要說一下 rsync 的工作流程和使用方法。

在下面的示例中,我們使用rsync 的-a選項,這會遞歸同步目錄,傳輸特殊設(shè)備和塊設(shè)備,并保留符號鏈接,修改時間,組,所有權(quán)和權(quán)限。

當(dāng)排除文件或目錄時,需要使用它們到源目錄的相對路徑。

有兩個選項可以指定要排除的文件和目錄:

  • 在命令行中,使用–exclude選項。
  • 在文件中,使用–exclude-from選項。

排除特定文件

要排除特定文件,請將文件的相對路徑傳遞給該–exclude選項。在以下示例中,文件 src_directory/file.txt 將不會被傳輸:

rsync -a --exclude 'file.txt' src_directory/ dst_directory/

如果要排除目錄內(nèi)容但不排除目錄本身,請使用dir1/*代替dir1:

rsync -a --exclude 'dir1/*' src_directory/ dst_directory/

 

排除多個文件或目錄
要排除多個文件或目錄,只需指定多個–exclude選項:

rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 
'dir2' src_directory/ dst_directory/

如果您希望使用單個--exclude選項,則可以用 {}將要排除的文件和目錄列出,并用逗號分隔,如下所示:

rsync -a --exclude={'file1.txt','dir1/*','dir2'} src_directory/ dst_directory/

如果要排除的文件和/或目錄的數(shù)量很多,則—exclude可以使用要在文件中排除的文件和目錄,而不是使用多個選項。只需將文件傳遞給該—exclude-from選項。

下面的命令與上面的命令完全相同:

rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/

在 exclude-file.txt 內(nèi)存儲這些內(nèi)容:

file1.txt
dir1/*
dir2

根據(jù)正則模式排除多個文件或目錄

使用rsync,你還可以根據(jù)與文件或目錄名稱匹配的模式排除文件和目錄。
例如,要排除所有.jpg文件,請運行:

rsync -a --exclude '*.jpg*' src_directory/ dst_directory/

排除與特定模式匹配的文件和目錄之外的其他所有文件和目錄并不困難。假設(shè)你要排除所有其他文件和目錄,但以 .jpg 結(jié)尾的文件除外。

一種選擇是使用以下命令:

rsync -a -m --include='*.jpg' --include='*/' --exclude='*' src_directory/ dst_directory/

使用多個include/exclude選項時,將應(yīng)用第一個匹配規(guī)則。參數(shù)含義:

  • --include='*.jpg'首先,我們包括所有.jpg文件。
  • --include='*/'然后,我們將所有目錄都包含在in src_directory目錄中。沒有這個rsync只會復(fù)制*.jpg頂級目錄中的文件。
  • -m刪除空目錄

另一個選擇是將 find 命令的輸出傳遞給 rsync:

find src_directory/ -name "*.jpg" -printf %P\\0\\n | rsync -a --files-from=- src_directory/ dst_director

參數(shù)含義:

  • -printf %P\\0\\n將 從src_directory/文件路徑中刪除。
  • --files-from=-表示僅包含來自標(biāo)準(zhǔn)輸入的文件(從find命令傳遞的文件)。

如果第一張方式難以掌控的話,那么這個 find 指令所做的篩選,對于運維同學(xué)應(yīng)該友好的多了。

寫在最后

rsync 一旦數(shù)量使用了之后,甚至應(yīng)該替代 scp ,成為我們?nèi)粘T诒镜氐椒?wù)器,服務(wù)器之間,目錄和文件同步的標(biāo)準(zhǔn)工具。

到此這篇關(guān)于Rsync 秒殺一切備份工具,你能手動屏蔽某些目錄嗎?的文章就介紹到這了,更多相關(guān)Rsync手動屏蔽目錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 如何使用Linux的rsync
  • Linux 通過Rsync+Inotify實現(xiàn)本、異地遠(yuǎn)程數(shù)據(jù)實時同步功能
  • python rsync服務(wù)器之間文件夾同步腳本
  • python+rsync精確同步指定格式文件
  • 自動刷新從BrowserSync開始
  • centos7下rsync+crontab定期同步備份
  • Linux下使用Rsync完成自動化備份
  • Java之Rsync并發(fā)遷移數(shù)據(jù)并校驗詳解

標(biāo)簽:湖南 衡水 崇左 蘭州 仙桃 黃山 銅川 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Rsync 秒殺一切備份工具,你能手動屏蔽某些目錄嗎?》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    阿克| 互助| 贵德县| 井陉县| 丹巴县| 札达县| 卢湾区| 历史| 宜州市| 平舆县| 磴口县| 开化县| 阳新县| 和政县| 西畴县| 互助| 榆树市| 成武县| 长治市| 曲沃县| 旌德县| 弋阳县| 永平县| 兴宁市| 弥渡县| 颍上县| 涟水县| 南华县| 珠海市| 来凤县| 大竹县| 建平县| 民乐县| 通州市| 中宁县| 讷河市| 陈巴尔虎旗| 错那县| 信阳市| 金山区| 孟州市|