首頁 > 系統教程 > Linux > 如何在Linux中使用RSYNC同步本地和遠程目錄

如何在Linux中使用RSYNC同步本地和遠程目錄

William Shakespeare
發布: 2025-03-21 09:12:14
原創
589 人瀏覽過

RSYNC:一種強大的工具,用於同步本地和遠程目錄

Rsync是用於同步目錄的強大且多功能的實用程序,有效地僅傳輸修改的文件部分。這使得它非常適合使用經常更新的文件管理大型目錄,無論是在兩台機器之間還是在單個系統之間。 SSH集成,數據壓縮,文件屬性保存(權限和時間戳)以及從源缺失的目的地刪除文件的能力,從而增強了其靈活性。

Rsync命令結構:

 rsync [options] [源] [目標]
登入後複製

密鑰rsync選項:

  • -a--archive ):保留關鍵的文件元數據(符號鏈接,權限,時間戳)。
  • -v--verbose ):提供詳細的輸出。
  • -r--recursive ):遞歸處理目錄。
  • --delete :從源中不在目的地中刪除文件。真正的同步至關重要。
  • -z--compress ):在傳輸過程中壓縮數據,保存帶寬。
  • -h--human-readable ):以用戶友好的格式顯示文件大小和其他數值數據。
  • -P :組合--partial (恢復中斷的傳輸)和--progress (顯示轉移進度)。

同步方案和設置:

Rsync對於各種任務很有價值:將數據備份到遠程服務器,跨機器共享文件,將代碼部署到生產以及保持開發和分期環境之間的一致性。

對於本指南的示例,我們將使用:

本地系統: Debian 11桌面,本地目錄: ~/local/sync/

遠程系統: Debian 12服務器,遠程用戶: ostechnix ,遠程IP: 192.168.1.12~/remote/sync/

基本用法:

假設安裝了rsync並正確設置了權限,則以下命令副本/將本地目錄同步到遙控器:

 rsync -avzp〜/local/sync/ostechnix@192.168.1.12:〜/remote/sync/
登入後複製

請記住,用您的實際路徑,IP地址和用戶名代替佔位符。

如何在Linux中使用RSYNC同步本地和遠程目錄

如何在Linux中使用RSYNC同步本地和遠程目錄

--delete的真實同步:

上面的命令反映了目的地的源。為了確保完整的同步(相同的內容),請使用--delete

 rsync -avzp -dlete〜/local/sync/ostechnix@192.168.1.12:〜/remote/sync/
登入後複製

這將從源中不存在的目標中刪除文件。謹慎行事--delete以避免意外數據丟失。

如何在Linux中使用RSYNC同步本地和遠程目錄

重要考慮因素:

  • 目錄路徑後的落後斜線( / )至關重要。省略它們可能導致意外的目錄創建。
  • 驗證源目錄和目標目錄上的權限。
  • 建議對基於SSH密鑰的身份驗證進行自動同步,從而消除密碼提示。

進一步的增強:

  • 基於密鑰的SSH身份驗證:生成SSH鍵對( ssh-keygen ),將公共密鑰複製到遠程服務器( ssh-copy-id ),並使用默認密鑰路徑或明確指定rsync命令中的私有密鑰路徑。

  • 實時同步(Inotify):rsyncinotifywait (從inotify-tools軟件包)相結合,以在文件更改時觸發同步。原始文檔中提供了示例腳本。

  • 使用cron進行調度:使用cron自動同步以特定的間隔(例如,每日,每小時)運行。原始文檔中提供了cron條目的示例。

  • 顯式SSH密鑰路徑:雖然通常不需要默認的密鑰位置,但明確指定腳本中的私鑰路徑提供了更多的控制。

結論:

Rsync是有效文件同步的強大工具。了解其選項並採用最佳實踐,例如基於SSH的基於SSH的身份驗證和計劃的任務,可確保可靠且安全的數據管理。在將rsync命令應用於生產環境之前,尤其是在使用--delete選項時,請務必徹底測試。

以上是如何在Linux中使用RSYNC同步本地和遠程目錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板