欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

rsync 命令詳解與示例

 更新時間:2025年05月21日 13:12:55   投稿:mdxy-dxy  
rsync 是一個強(qiáng)大的文件同步工具,用于在本地或遠(yuǎn)程系統(tǒng)之間高效傳輸和同步文件,它通過僅傳輸文件的差異部分(增量傳輸)來節(jié)省帶寬和時間,是備份、鏡像和日常文件同步的常用工具

一、rsync 命令核心功能與基本語法

1. 核心功能

  • 增量同步:僅傳輸源文件與目標(biāo)文件之間的差異部分,大幅減少數(shù)據(jù)傳輸量。
  • 跨平臺支持:適用于本地文件系統(tǒng)、遠(yuǎn)程 SSH 或 rsync 協(xié)議連接的服務(wù)器。
  • 元數(shù)據(jù)保留:支持保留文件權(quán)限、時間戳、符號鏈接、硬鏈接等屬性。
  • 靈活過濾:可通過正則表達(dá)式、排除/包含規(guī)則篩選同步文件。
  • 傳輸優(yōu)化:支持壓縮(-z)、帶寬限制(--bwlimit)、斷點續(xù)傳(需配合工具)等。

2. 基本語法

# 本地同步語法
rsync [選項] [源路徑] [目標(biāo)路徑]
# 遠(yuǎn)程同步語法(通過 SSH 協(xié)議)
rsync [選項] [源路徑] [用戶@]遠(yuǎn)程主機(jī):[目標(biāo)路徑]
rsync [選項] [用戶@]遠(yuǎn)程主機(jī):[源路徑] [目標(biāo)路徑]
# 遠(yuǎn)程同步語法(通過 rsync 守護(hù)進(jìn)程協(xié)議)
rsync [選項] rsync://遠(yuǎn)程主機(jī)模塊名/[目標(biāo)路徑]

核心參數(shù)分類

  • 模式參數(shù)
    -a(歸檔模式,等價于 -rlptgoD,保留所有元數(shù)據(jù)并遞歸同步)
    -n/--dry-run(模擬同步,不實際傳輸文件,用于測試)
    -v/-vv(顯示詳細(xì)/更詳細(xì)的同步過程)
  • 傳輸控制
    -z(壓縮傳輸數(shù)據(jù),提升網(wǎng)絡(luò)傳輸效率)
    --delete(刪除目標(biāo)中源不存在的文件,實現(xiàn)鏡像同步)
    --ignore-errors(忽略文件刪除/讀取錯誤,繼續(xù)同步)
  • 過濾規(guī)則
    --exclude="模式"(排除符合模式的文件/目錄)
    --include="模式"(強(qiáng)制包含符合模式的文件/目錄)
  • 性能優(yōu)化
    --bwlimit=KB/s(限制傳輸帶寬,如 --bwlimit=1024
    -P(等價于 --partial --progress,顯示進(jìn)度并保留部分傳輸文件)
    -D(保留設(shè)備文件和特殊文件)

二、常用用例與命令示例

1. 本地文件同步

場景:將本地目錄 /data/source 同步到 /data/backup,保留所有屬性并顯示詳細(xì)過程。

rsync -av /data/source/ /data/backup/

末尾斜杠 / 表示同步目錄內(nèi)的內(nèi)容,目標(biāo)目錄不存在時會自動創(chuàng)建。

若源路徑不帶斜杠(如 /data/source),目標(biāo)目錄會創(chuàng)建以 source 為名的子目錄。

2. 遠(yuǎn)程同步(通過 SSH)

場景 1:本地文件上傳到遠(yuǎn)程服務(wù)器

rsync -avz /local/file.txt user@remote.server:/remote/path/

-z 壓縮文件,適合網(wǎng)絡(luò)傳輸;遠(yuǎn)程路徑需用戶有權(quán)限寫入。

場景 2:從遠(yuǎn)程服務(wù)器下載文件

rsync -avz user@remote.server:/remote/file.txt /local/path/

場景 3:跨服務(wù)器同步(無需本地中轉(zhuǎn))

rsync -avz -e "ssh -p 2222" user1@server1:/source/ user2@server2:/dest/

-e 指定使用 SSH 協(xié)議及端口(默認(rèn) 22),支持加密傳輸。

3. 增量備份與鏡像同步

場景 1:增量備份(僅更新變化的文件,刪除目標(biāo)中多余文件)

rsync -av --delete /source/ /backup/

--delete 會使目標(biāo)與源嚴(yán)格一致,謹(jǐn)慎用于重要數(shù)據(jù)!建議先用 --dry-run 模擬。

場景 2:保留歷史版本的增量備份(使用硬鏈接節(jié)省空間)

rsync -av --link-dest=/backup/last/ /source/ /backup/current/

--link-dest 讓新備份共享上一次備份的相同文件,僅存儲差異部分。

4. 排除/包含特定文件

場景:同步目錄時排除日志文件和臨時文件

rsync -av --exclude="*.log" --exclude="tmp/" /data/ /backup/

支持通配符(*、?)和目錄路徑(如 tmp/ 表示排除整個目錄)。

復(fù)雜過濾可使用 --exclude-from=文件,在文件中每行寫一個排除模式:

rsync -av --exclude-from=exclude.list /source/ /dest/

5. 性能優(yōu)化與高級選項

限速傳輸(避免影響帶寬):

rsync -avz --bwlimit=2048 /large_data/ remote:/storage/

校驗和模式(跳過時間戳檢查,確保文件內(nèi)容一致):

rsync -av --checksum /source/ /dest/

保留符號鏈接(默認(rèn)保留,若需跟隨鏈接同步實際文件,加 --follow-symlinks):

rsync -av --follow-symlinks /source/ /dest/

三、常見問題與解決方案

1. 權(quán)限問題:rsync: failed to open dir: Permission denied

原因:源/目標(biāo)目錄無讀取/寫入權(quán)限,或遠(yuǎn)程用戶權(quán)限不足。

解決

本地同步:使用 sudo 提升權(quán)限,或確保用戶對路徑有對應(yīng)權(quán)限。

遠(yuǎn)程同步:檢查遠(yuǎn)程用戶是否為目錄所有者,或使用 ssh-keygen 配置無密碼登錄避免權(quán)限中斷。

2. 誤刪文件:--delete 意外刪除目標(biāo)文件

預(yù)防

永遠(yuǎn)先用 --dry-run 模擬同步,確認(rèn)輸出中無錯誤刪除操作:

rsync -av --delete --dry-run /source/ /dest/

重要數(shù)據(jù)先備份目標(biāo)目錄,或使用 --delete-after(先傳輸新文件再刪除,減少風(fēng)險)。

3. 傳輸中斷:網(wǎng)絡(luò)不穩(wěn)定導(dǎo)致同步失敗

解決

使用 -P--partial)保留未完成傳輸?shù)呐R時文件,支持?jǐn)帱c續(xù)傳:

rsync -avP /large_file.iso remote:/dest/

若頻繁中斷,可搭配 rsync + nohup 或 screen 保持會話持續(xù)。

4. 文件沖突:源與目標(biāo)有同名但內(nèi)容不同的文件

現(xiàn)象rsync 默認(rèn)以源文件覆蓋目標(biāo)文件,可能導(dǎo)致數(shù)據(jù)丟失。

解決

使用 --compare-dest=參考目錄 對比三方文件,優(yōu)先保留最新版本(需 rsync >= 3.1.0):

rsync -av --compare-dest=/reference/ /source/ /dest/

手動檢查沖突文件(通過 --itemize-changes 輸出詳細(xì)差異):

bash

rsync -av --itemize-changes /source/ /dest/

5. 符號鏈接異常:同步后鏈接失效或指向錯誤

原因:默認(rèn) rsync 保留符號鏈接本身,不跟隨其指向的文件。

解決

若需保留鏈接(推薦):無需額外參數(shù),默認(rèn)行為正確。

若需同步鏈接指向的實際文件:添加 --follow-symlinks,但可能導(dǎo)致循環(huán)鏈接錯誤。

6. 元數(shù)據(jù)丟失:權(quán)限/時間戳未正確保留

原因:未使用歸檔模式 -a,或遠(yuǎn)程服務(wù)器限制權(quán)限寫入。

解決

始終使用 -a 或顯式添加 -rltp(遞歸、保留符號鏈接、時間戳、權(quán)限)。

遠(yuǎn)程同步時,確保目標(biāo)用戶有 chmod/chown 權(quán)限(如使用 root 用戶或 sudo)。

7. 壓縮無效:-z 未減少傳輸量

原因:傳輸?shù)奈募咽菈嚎s格式(如 .zip.tar.gz),壓縮反而增加開銷。

解決:對二進(jìn)制或文本文件用 -z,對已壓縮文件改用 -z0(最小壓縮)或直接禁用 -z。

8. 網(wǎng)絡(luò)連接超時:遠(yuǎn)程主機(jī)不可達(dá)

原因:SSH 端口錯誤、防火墻阻止連接、主機(jī)名解析失敗。

解決

檢查遠(yuǎn)程主機(jī) IP/端口(ping remote.server 或 ssh user@remote.server -p 端口)。

添加 -e "ssh -o ConnectTimeout=10" 限制連接超時時間:

rsync -avz -e "ssh -o ConnectTimeout=10" /local/ remote:/dest/

四、最佳實踐總結(jié)

測試優(yōu)先:復(fù)雜同步任務(wù)先用 --dry-run 模擬,確認(rèn)輸出無誤后再執(zhí)行。

備份關(guān)鍵數(shù)據(jù):對重要目錄同步前,手動備份目標(biāo)數(shù)據(jù)(尤其是含 --delete 的操作)。

日志記錄:通過 --log-file=rsync.log 記錄同步過程,方便后續(xù)審計或排錯:

rsync -av --delete --log-file=sync.log /source/ /dest/

版本控制:結(jié)合 --link-dest 實現(xiàn)基于硬鏈接的版本化備份,節(jié)省存儲空間。

通過掌握上述用法,可高效利用 rsync 完成本地/遠(yuǎn)程文件同步、增量備份、服務(wù)器鏡像等任務(wù),同時避免常見陷阱。實際使用中建議根據(jù)具體場景調(diào)整參數(shù),必要時查閱官方文檔(man rsync)獲取完整選項說明。 

相關(guān)文章

  • 云服務(wù)器(Linux)安裝部署Kafka的詳細(xì)過程

    云服務(wù)器(Linux)安裝部署Kafka的詳細(xì)過程

    這篇文章主要介紹了云服務(wù)器(Linux)安裝部署Kafka的詳細(xì)過程,kafka的安裝需要依賴于jdk,需要在服務(wù)器上提前安裝好該環(huán)境,這里使用用jdk1.8,本文給大家詳細(xì)介紹感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • ubuntu20.04安裝unity-tweak-tools啟動時遇到錯誤的解決

    ubuntu20.04安裝unity-tweak-tools啟動時遇到錯誤的解決

    在Ubuntu系統(tǒng)中,安裝Unity Tweak Tool時可能會遇到schemacom.canonical.Unity.ApplicationsLens未安裝的錯誤,解決這個問題的辦法是安裝缺失的依賴包,執(zhí)行命令`sudo apt-get install unity-lens-applications` 和 `sudo apt-get install unity-lens-files`
    2024-09-09
  • CentOS系統(tǒng)通過日志反查是否被入侵

    CentOS系統(tǒng)通過日志反查是否被入侵

    最近有個朋友的服務(wù)器發(fā)現(xiàn)有入侵的痕跡后來處理解決但是由于對方把日志都清理了無疑給排查工作增加了許多難度。其實日志的作用是非常大的。學(xué)會使用通過日志來排查解決我們工作中遇到的一些問題是很有必要的。下面就一一道來。
    2016-08-08
  • rsync 限制速度(防止rsync耗帶寬)

    rsync 限制速度(防止rsync耗帶寬)

    今天在配置同步的時候,有臺服務(wù)器端帶寬有限,怕影響了網(wǎng)站的運(yùn)行,所以需要限制一下同步速度,其實客戶端加個參數(shù)就可以了
    2016-05-05
  • RsyncServer服務(wù)無法啟動的解決方法

    RsyncServer服務(wù)無法啟動的解決方法

    網(wǎng)站采用了RsyncServer進(jìn)行同步,但同步的時候經(jīng)常無法連接遠(yuǎn)程RsyncServer服務(wù)器端,登陸后發(fā)現(xiàn)原來是RsyncServer服務(wù)無法啟動了,其實解決方法很簡單。
    2010-04-04
  • 網(wǎng)站數(shù)據(jù)自動備份方法

    網(wǎng)站數(shù)據(jù)自動備份方法

    本文是根據(jù)作者自己多年的維護(hù)經(jīng)驗,來和大家分享下網(wǎng)站數(shù)據(jù)自動備份的一些經(jīng)驗。
    2010-04-04
  • git簡介_動力節(jié)點Java學(xué)院整理

    git簡介_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了git簡介_動力節(jié)點Java學(xué)院整理,Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng),有興趣的可以了解一下
    2017-08-08
  • zerotier搭建免費(fèi)moon服務(wù)器的部署流程

    zerotier搭建免費(fèi)moon服務(wù)器的部署流程

    ZeroTier是一種基于P2P的虛擬組網(wǎng)工具,通過搭建Moon服務(wù)器?可大幅提升跨運(yùn)營商/跨國節(jié)點的連接質(zhì)量,本文介紹了如何使用云服務(wù)部署ZeroTier的Moon服務(wù)器,并詳細(xì)步驟包括登錄服務(wù)器、安裝ZeroTier、生成Moon配置文件、配置Moon服務(wù)器和重啟服務(wù),感興趣的朋友一起看看吧
    2025-03-03
  • 如何在?Windows?上搭建?NTP?服務(wù)器

    如何在?Windows?上搭建?NTP?服務(wù)器

    這篇文章主要介紹了在?Windows?上搭建?NTP?服務(wù)器的操作步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Memcached 入門介紹(安裝與配置)

    Memcached 入門介紹(安裝與配置)

    Memcached是一個高性能的分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫負(fù)載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提供動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度
    2014-08-08

最新評論