最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

rsync 命令詳解與示例

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

一、rsync 命令核心功能與基本語(yǔ)法

1. 核心功能

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

2. 基本語(yǔ)法

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

核心參數(shù)分類(lèi)

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

二、常用用例與命令示例

1. 本地文件同步

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

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

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

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

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

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

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

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

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

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

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

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

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

3. 增量備份與鏡像同步

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

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

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

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

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

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

4. 排除/包含特定文件

場(chǎng)景:同步目錄時(shí)排除日志文件和臨時(shí)文件

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

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

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

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

5. 性能優(yōu)化與高級(jí)選項(xiàng)

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

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

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

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

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

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

三、常見(jiàn)問(wèn)題與解決方案

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

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

解決

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

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

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

預(yù)防

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

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

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

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

解決

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

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

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

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

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

解決

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

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

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

bash

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

5. 符號(hào)鏈接異常:同步后鏈接失效或指向錯(cuò)誤

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

解決

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

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

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

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

解決

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

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

7. 壓縮無(wú)效:-z 未減少傳輸量

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

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

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

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

解決

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

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

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

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

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

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

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

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

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

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

相關(guān)文章

  • curl.exe安裝使用的最全參數(shù)詳解以及常用命令匯總

    curl.exe安裝使用的最全參數(shù)詳解以及常用命令匯總

    Curl是一個(gè)功能強(qiáng)大的命令行工具,可以看做是命令行瀏覽器,用于與服務(wù)器進(jìn)行數(shù)據(jù)交互,支持多種數(shù)據(jù)傳輸協(xié)議,如HTTP、HTTPS、FTP等,它支持文件的上傳和下載,它是一款開(kāi)源軟件,在多個(gè)操作系統(tǒng)上均可運(yùn)行,包括Windows、Linux、macOS等
    2024-04-04
  • win2008 r2 服務(wù)器環(huán)境配置(FTP/ASP/ASP.Net/PHP)

    win2008 r2 服務(wù)器環(huán)境配置(FTP/ASP/ASP.Net/PHP)

    這篇文章主要想介紹websitepanel環(huán)境配置之FTP/ASP/ASP.Net/PHP運(yùn)行環(huán)境的搭建,需要的朋友可以參考下
    2013-12-12
  • startssl申請(qǐng)SSL證書(shū) 并且配置 iis 啟用https協(xié)議

    startssl申請(qǐng)SSL證書(shū) 并且配置 iis 啟用https協(xié)議

    這篇文章主要介紹了startssl申請(qǐng)SSL證書(shū) 并且配置 iis 啟用https協(xié)議,需要的朋友可以參考下
    2017-03-03
  • imail8.22安裝激活實(shí)例[圖文]

    imail8.22安裝激活實(shí)例[圖文]

    今天制作此實(shí)例的目的是因?yàn)榍皫滋煳姨峁┝薎MAIL8.22中文模板和算號(hào)器,這幾天問(wèn)我怎么注冊(cè)的人還挺多,一句話(huà)又講不清,不講吧,又覺(jué)得對(duì)不起朋友們,所以花了點(diǎn)時(shí)間,做了此實(shí)例,方便朋友們使用,高手就不用看了
    2011-09-09
  • 解密Console?LDAP配置

    解密Console?LDAP配置

    這篇文章主要為大家介紹了解密Console?LDAP配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Windows系統(tǒng)上安裝和配置RabbitMQ的完整流程(圖文詳解)

    Windows系統(tǒng)上安裝和配置RabbitMQ的完整流程(圖文詳解)

    本教程詳細(xì)介紹了在Windows系統(tǒng)上安裝和配置RabbitMQ的完整流程,包括準(zhǔn)備工作、Erlang和RabbitMQ的安裝、環(huán)境變量配置、服務(wù)驗(yàn)證、管理界面啟用以及基本的用戶(hù)管理操作,通過(guò)本教程,初學(xué)者可以掌握RabbitMQ的基本使用方法
    2026-01-01
  • 開(kāi)源SFTP服務(wù)器軟件SFTPGo詳解

    開(kāi)源SFTP服務(wù)器軟件SFTPGo詳解

    SFTPGo 是一種事件驅(qū)動(dòng)的文件傳輸解決方案,使用 SFTPGo,您可以利用本地和云存儲(chǔ)后端,使用您已經(jīng)熟悉的相同工具和流程在內(nèi)部或與業(yè)務(wù)伙伴交換和存儲(chǔ)文件,這篇文章給大家介紹開(kāi)源SFTP服務(wù)器軟件SFTPGo的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2024-08-08
  • dell r710 服務(wù)器配置RAID5(3塊硬盤(pán)做RAID5)

    dell r710 服務(wù)器配置RAID5(3塊硬盤(pán)做RAID5)

    這篇文章主要介紹了dell r710 服務(wù)器配置RAID5圖文教程,需要的朋友可以參考下
    2014-08-08
  • 正確開(kāi)啟Win2008遠(yuǎn)程桌面的方法

    正確開(kāi)啟Win2008遠(yuǎn)程桌面的方法

    正確開(kāi)啟windows2008系統(tǒng)的遠(yuǎn)程桌面功能,需要的朋友可以參考下。
    2011-03-03
  • 通過(guò)StatefulSet部署有狀態(tài)服務(wù)應(yīng)用實(shí)現(xiàn)方式

    通過(guò)StatefulSet部署有狀態(tài)服務(wù)應(yīng)用實(shí)現(xiàn)方式

    這篇文章主要為大家介紹了通過(guò)StatefulSet部署有狀態(tài)服務(wù)應(yīng)用的實(shí)現(xiàn)方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03

最新評(píng)論

望江县| 鹰潭市| 临猗县| 分宜县| 长乐市| 九寨沟县| 余江县| 依安县| 汝阳县| 抚顺县| 遂溪县| 桃园市| 阳朔县| 台安县| 谢通门县| 百色市| 来宾市| 吴堡县| 德江县| 台北市| 绩溪县| 梨树县| 乌拉特后旗| 平乐县| 乌兰县| 鲁山县| 富川| 鄄城县| 北宁市| 巴林左旗| 民权县| 衢州市| 兴和县| 南充市| 莱州市| 盘山县| 扶绥县| 南通市| 开远市| 山阳县| 饶平县|