偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何使用rsync的高級用法進(jìn)行大型備份

系統(tǒng) Linux
基礎(chǔ)的 rsync 命令通常足夠來管理你的 Linux 備份,但是額外的選項(xiàng)使大型備份集更快、更強(qiáng)大。

[[265462]]

基礎(chǔ)的 rsync 命令通常足夠來管理你的 Linux 備份,但是額外的選項(xiàng)使大型備份集更快、更強(qiáng)大。

很明顯,備份一直是 Linux 世界的熱門話題?;氐?2017,David Both 為 Opensource.com 的讀者在使用 rsync 備份 Linux 系統(tǒng)方面提了一些建議,在這年的更早時候,他發(fā)起了一項(xiàng)問卷調(diào)查詢問大家,在 Linux 中你的 /home 目錄的主要備份策略是什么,在今年的另一個問卷調(diào)查中,Don Watkins 問到,你使用哪種開源備份解決方案。

我的回復(fù)是 rsync。我真的非常喜歡 rsync!市場上有大量大而復(fù)雜的工具,對于管理磁帶機(jī)或者存儲庫設(shè)備,這些可能是必要的,但是可能你需要的只是一個簡單的開源命令行工具。

rsync 基礎(chǔ)

我為一個大概擁有 35,000 開發(fā)者并有著幾十 TB 文件的全球性機(jī)構(gòu)管理二進(jìn)制倉庫。我經(jīng)常一次移動或者歸檔上百 GB 的數(shù)據(jù)。使用的是 rsync。這種經(jīng)歷使我對這個簡單的工具充滿信心。(所以,是的,我在家使用它來備份我的 Linux 系統(tǒng))

基礎(chǔ)的 rsync 命令很簡單。

  1. rsync -av 源目錄 目的地目錄

實(shí)際上,在各種指南中教的 rsync 命令在大多數(shù)通用情況下都運(yùn)行的很好。然而,假設(shè)我們需要備份大量的數(shù)據(jù)。例如包含 2,000 個子目錄的目錄,每個包含 50GB 到 700GB 的數(shù)據(jù)。在這個目錄運(yùn)行 rsync 可能需要大量時間,尤其是當(dāng)你使用校驗(yàn)選項(xiàng)時(我傾向使用)。

當(dāng)我們試圖同步大量數(shù)據(jù)或者通過慢的網(wǎng)絡(luò)連接時,可能遇到性能問題。讓我給你展示一些我使用的方法來確保好的性能和可靠性。

rsync 高級用法

rsync 運(yùn)行時出現(xiàn)時:“正在發(fā)送增量文件列表。” 如果你在網(wǎng)上搜索這一行,你將看到很多類似的問題:為什么它一直運(yùn)行,或者為什么它似乎掛起了。

這里是一個基于這個場景的例子。假設(shè)我們有一個 /storage 的目錄,我們想要備份到一個外部 USB 磁盤,我們可以使用下面的命令:

  1. rsync -cav /storage /media/WDPassport

-c 選項(xiàng)告訴 rsync 使用文件校驗(yàn)和而不是時間戳來決定改變的文件,這通常消耗的時間更久。為了分解 /storage 目錄,我通過子目錄同步,使用 find 命令。這是一個例子:

  1. find /storage -type d -exec rsync -cav {} /media/WDPassport \;

這看起來可以,但是如果 /storage 目錄有任何文件,它們將被跳過。因此,我們?nèi)绾瓮?/storage 目錄中的文件呢?同樣有一個細(xì)微的差別是這些選項(xiàng)將造成 rsync 會同步 . 目錄,該目錄是源目錄自身;這意味著它會同步目錄兩次,這并不是我們想要的。

長話短說,我的解決方案是一個 “雙-遞增”腳本。這允許我分解一個目錄,例如,當(dāng)你的家目錄有多個大的目錄,例如音樂或者家庭照片時,分解 /home 目錄為單個的用戶家目錄。

這是我的腳本的一個例子:

  1. HOMES="alan"
  2. DRIVE="/media/WDPassport"
  3.  
  4. for HOME in $HOMES; do
  5. cd /home/$HOME
  6. rsync -cdlptgov --delete . /$DRIVE/$HOME
  7. find . -maxdepth 1 -type d -not -name "." -exec rsync -crlptgov --delete {} /$DRIVE/$HOME \;
  8. done

rsync 命令拷貝它在源目錄中發(fā)現(xiàn)的文件和目錄。然而,它將目錄留著不處理,因此我們能夠通過 find 命令迭代它們。這通過傳遞 -d 參數(shù)來完成,它告訴 rsync 不要遞歸目錄。

  1. -d, --dirs 傳輸目錄而不遞歸

然后 find 命令傳遞每個目錄來單獨(dú)運(yùn)行 rsync。之后 rsync 拷貝目錄的內(nèi)容。這通過傳遞 -r 參數(shù)來完成,它告訴 rsync 要遞歸目錄。

  1. -r, --recursive 遞歸進(jìn)入目錄

這使得 rsync 使用的增量文件保持在一個合理的大小。

大多數(shù) rsync 指南為了簡便使用 -a (或者 archive) 參數(shù)。這實(shí)際是一個復(fù)合參數(shù)。

  1. -a, --archive 歸檔模式;等價(jià)于 -rlptgoD(沒有 -H,-A,-X

我傳遞的其他參數(shù)包含在 a 中;這些是 -l、-p、-t-g-o。

  1. -l, --links 復(fù)制符號鏈接作為符號鏈接
  2. -p, --perms 保留權(quán)限
  3. -t, --times 保留修改時間
  4. -g, --group 保留組
  5. -o, --owner 保留擁有者(只適用于超級管理員)

--delete 選項(xiàng)告訴 rsync 刪除目的地目錄中所有在源目錄不存在的任意文件。這種方式,運(yùn)行的結(jié)果僅僅是復(fù)制。你同樣可以排除 .Trash 目錄或者 MacOS 創(chuàng)建的 .DS_Store 文件。

  1. -not -name ".Trash*" -not -name ".DS_Store"

注意

建議: rsync 可以是破壞性的命令。幸運(yùn)的是,它的睿智的創(chuàng)造者提供了 “空運(yùn)行” 的能力。如果我們加入 n 選項(xiàng),rsync 會顯示預(yù)期的輸出但不寫任何數(shù)據(jù)。

  1. `rsync -cdlptgovn --delete . /$DRIVE/$HOME`

這個腳本適用于非常大的存儲規(guī)模和高延遲或者慢鏈接的情況。一如既往,我確信仍有提升的空間。如果你有任何建議,請?jiān)谙路皆u論中分享。 

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2011-10-09 09:26:04

ubuntursync服務(wù)器

2017-03-01 12:19:17

rsync Linux系統(tǒng)

2021-11-26 08:45:06

NetworKi網(wǎng)絡(luò)安全分析安全工具

2010-09-14 09:15:03

RsyncLinux備份遠(yuǎn)程數(shù)據(jù)同步

2021-06-09 08:05:02

Linux 備份數(shù)據(jù)

2021-06-18 10:28:56

Linuxrsync命令

2010-10-26 12:03:25

Oracle備份

2023-11-06 12:00:04

GORM

2010-05-26 18:43:42

SVN庫

2014-12-23 09:37:09

Linuxrsync

2009-12-28 15:44:45

Fedora rsyn

2009-10-22 09:32:51

ghostlinux系統(tǒng)備份

2020-09-27 10:06:16

Btrfs增量備份

2011-01-20 10:25:00

綜合布線災(zāi)難備份災(zāi)備

2009-03-09 20:57:28

linuxrsync文件同步備份

2023-11-07 12:07:22

2010-06-01 16:46:38

Rsync 命令

2024-03-29 08:03:48

單元測試流量

2022-02-23 21:10:53

LonghornKubernetes快照

2010-03-29 16:16:59

Oracle exp備
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號