您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Linux中Rsync命令有哪些備份選項,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
常常備份是良好的習慣,只是這么好習慣只有在無數次的頓足捶胸、呼天搶地的懊惱之后,才會勉勉強強慢慢地養成,備份最常用的命令是:
rsync -avl source destination
此處的短選項 a 是長選項--archive 的簡寫形式。然而,如果我們要系統搬家的時候備份所有的資料,謹慎用 -a 選項。因為如果在新系統上換了新的用戶名,會導致你打不開用 -a 選型備份的所有資料。
為什么呢?
1)便捷卻不簡單的--Archive 選項
選項--archive看似僅僅代表一個指示條件,其實質卻是多個高頻選項的快捷鍵:
rsync -a #等價于 -rlptgoD
換言之,-a這一個option,相當于添加了-rlptgoD這七個options。引言中提出的問題,癥結就在這里。
-p --perms # 保留權限 -o --owner # 保留owner -g --group # 同步組
上面的三個選項,分別同步文件的額權限,屬主和屬組;后果是,我們只能用當前的用戶查看所有備份的資料。切換用戶之后,則沒有對應權限查看。
因此,我們重裝系統備份所有資料的時候,要慎用-a 選項。
2)常用的基本選項
rsync 的基礎選項有:
-v --verbose # 在終端中報告當前的進度 -r --recursive # 遞歸模式 -t --times # 同步時間戳 -I --ignore-times # 不同步時間戳 -l --links # 創建軟連接 -L, --copy-links # 復制軟連接所指向的位置 -z, --compress # 允許壓縮 -d, --dirs # 只備份目錄樹結構
以上8個option是rsync命令的基礎部分。
3)排除和包含特定的文件與目錄
同步的過程中,我們常常需要排除掉dot文件,比如.git.ssh等,exclude命令就有了用武之地
--exclude={.ssh,.git,.config}
--exclude-from=FILE選項提供了更貼心的服務,我們可以將經常要排除掉的目錄寫進專門的文件。此文件中,我們可以應用#和;備注,rsync命令會自動忽略,同時也會跳過空白行。
與‘exclude’相對應的是 ‘include’。如果不使用 {},我們可以寫成多行的模式:
rsync -av ~/Documents \ --include=~/Public \ --include=~/Music \ --include=~/Videos \ --include=~/Downloads \ /media/spiritme/disk/
除了include 和exclude 之外,rsync還準備了根據文件的大小實施篩選的選項:
--max-size=SIZE # 篩選掉大于此SIZE的文件 --min-size=SIZE # 排除掉小于此SIZE的文件
4)rsync 命令的核心
--update 選項是rsync命令的靈魂。根據rsync十分貼心的算法,destination 中時間戳晚于source中的文件不會被覆蓋掉。
與 --update 選項協同作戰的還有--delete選項,將刪除掉destination中多余的目錄與文件。
與--delete 呼應的是--existing 選項,只同步在目標位置存在的文件,而不創建新的文件。
以上三個選項乃是rsync命令的核心部分。
我們還可以更好的監控rsync的工作進度以及生成最終的報告。
--progress會打印檔期的進度
782448 63% 110.64kB/s 0:00:04 # 與 -h 搭配使用
-i, --itemize-changes將生成所有變更的報告。
5)改變 rsync 算法的選項
-W, --whole-file選項會改變rsync的算法。關閉其默認的 delta-transfer algorithm,而將文件整體移動。當然如果是在本地執行rsync,-W 則是默認行為。
-c, --checksum選項將改變rsync默認的‘quick-check’算法。
6)收尾總結
我們從具體問題‘rsync-a' 命令導致的權限問題出發,遵循循序漸進的邏輯分別探討了:
1)快捷方式 rsync -a2)常用的8個基本選項3)排除和包含特定的文件與目錄的方法4)rsync 命令的核心5)改變 rsync 算法的選項
關于“Linux中Rsync命令有哪些備份選項”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。