日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c include 多层目录_Rsync 秒杀一切备份工具,你能手动屏蔽某些目录吗?

發(fā)布時(shí)間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c include 多层目录_Rsync 秒杀一切备份工具,你能手动屏蔽某些目录吗? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)自:高效運(yùn)維

引言

Rsync 是一種快速且通用的命令行實(shí)用程序,可通過遠(yuǎn)程shell在兩個(gè)位置之間同步文件和文件夾。使用 Rsync,可以鏡像數(shù)據(jù),創(chuàng)建增量備份,并在系統(tǒng)之間復(fù)制文件。復(fù)制數(shù)據(jù)時(shí),你可能要根據(jù)文件名或位置排除一個(gè)或多個(gè)文件或目錄。在本文中,我們將展示如何使用rsync排除文件和目錄。

準(zhǔn)備工作

先簡要說一下 rsync 的工作流程和使用方法。在下面的示例中,我們使用rsync 的-a選項(xiàng),這會(huì)遞歸同步目錄,傳輸特殊設(shè)備和塊設(shè)備,并保留符號(hào)鏈接,修改時(shí)間,組,所有權(quán)和權(quán)限。當(dāng)排除文件或目錄時(shí),需要使用它們到源目錄的相對(duì)路徑。有兩個(gè)選項(xiàng)可以指定要排除的文件和目錄:
  • 在命令行中,使用--exclude選項(xiàng)。
  • 在文件中,使用--exclude-from選項(xiàng)。

排除特定文件

要排除特定文件,請(qǐng)將文件的相對(duì)路徑傳遞給該--exclude選項(xiàng)。在以下示例中,文件 src_directory/file.txt 將不會(huì)被傳輸:

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

排除特定目錄

排除特定目錄與排除文件相同,只需將目錄的相對(duì)路徑傳遞給該--exclude選項(xiàng),如下所示:

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

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

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

排除多個(gè)文件或目錄

要排除多個(gè)文件或目錄,只需指定多個(gè)--exclude選項(xiàng):

rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/如果您希望使用單個(gè)--exclude選項(xiàng),則可以用{}將要排除的文件和目錄列出,并用逗號(hào)分隔,如下所示:rsync -a --exclude={'file1.txt','dir1/*','dir2'} src_directory/ dst_directory/如果要排除的文件和/或目錄的數(shù)量很多,則—exclude可以使用要在文件中排除的文件和目錄,而不是使用多個(gè)選項(xiàng)。只需將文件傳遞給該—exclude-from選項(xiàng)。下面的命令與上面的命令完全相同:rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/

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

file1.txtdir1/*dir2

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

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

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

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

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

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

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

  • --include='*.jpg'-首先,我們包括所有.jpg文件。

  • --include='*/'然后,我們將所有目錄都包含在in src_directory目錄中。

    沒有這個(gè)rsync只會(huì)復(fù)制*.jpg頂級(jí)目錄中的文件。

  • -m?-刪除空目錄

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

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

參數(shù)含義:

  • -printf %P\\0\\n?將從src_directory/文件路徑中刪除。

  • --files-from=-?表示僅包含來自標(biāo)準(zhǔn)輸入的文件(從find命令傳遞的文件)。

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

寫在最后

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

良許個(gè)人微信

添加良許個(gè)人微信即送3套程序員必讀資料

→ 精選技術(shù)資料共享

→ 高手如云交流社群


本公眾號(hào)全部博文已整理成一個(gè)目錄,請(qǐng)?jiān)诠娞?hào)里回復(fù)「m」獲取!

推薦閱讀:

Shell 監(jiān)控文件變化

幾句話,離職了

在大學(xué)城開一間賓館能掙多少錢?

5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號(hào)內(nèi)回復(fù)「1024」,即可免費(fèi)獲取!!

總結(jié)

以上是生活随笔為你收集整理的c include 多层目录_Rsync 秒杀一切备份工具,你能手动屏蔽某些目录吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。