rsync 是一個非常流行的命令行工具,用於高效地同步文件和目錄。它廣泛用於 Linux 和 UNIX 系統,但也可以在 Windows 上通過 Cygwin 或 WSL (Windows Subsystem for Linux) 使用。本文將介紹 rsync 的基本概念、特點以及如何使用它來同步文 ...
rsync
是一個非常流行的命令行工具,用於高效地同步文件和目錄。它廣泛用於 Linux 和 UNIX 系統,但也可以在 Windows 上通過 Cygwin 或 WSL (Windows Subsystem for Linux) 使用。本文將介紹 rsync
的基本概念、特點以及如何使用它來同步文件。
什麼是 Rsync?
rsync
(remote synchronization)是一種快速、多功能的文件傳輸工具。它可以通過 LAN (區域網)、WAN (廣域網) 或者互聯網來同步文件和目錄。rsync
的設計目標是提供最快的數據傳輸速度,同時減少網路流量和磁碟 I/O。
Rsync 的特點
- 增量傳輸:
rsync
僅傳輸文件的變化部分,而不是整個文件,這大大減少了數據傳輸量。 - 壓縮數據:在傳輸過程中,
rsync
可以壓縮數據,進一步減少網路流量。 - 多平臺支持:
rsync
支持多種操作系統,包括 Linux、Unix、Windows 等。 - 安全性:可以通過 SSH 協議來加密傳輸數據,確保數據傳輸的安全性。
- 靈活的命令行選項:提供了豐富的命令行選項,可以根據需要進行定製化操作。
如何使用 Rsync
基本語法
rsync
的基本語法如下:
rsync [OPTION] [FILE] [USER@]HOST:FILE
rsync [OPTION] [FILE] [USER@]HOST::MODULE/FILE
rsync [OPTION] [FILE] MODULE/FILE
rsync [OPTION] [FILE] [FILE] [FILE]...
常用選項
-r
或--recursive
:遞歸複製整個目錄。-l
或--links
:保留軟鏈接。-z
或--compress
:在傳輸過程中壓縮文件數據。-a
或--archive
:歸檔模式,等同於-r -l
,並且保持大部分文件屬性。-v
或--verbose
:詳細模式,輸出詳細的處理過程。--delete
:刪除目標目錄中已經不存在的文件。
示例
- 本地同步:將本地目錄
source
同步到destination
。
rsync -av --delete /path/to/source/ /path/to/destination/
- 遠程同步:將本地目錄同步到遠程伺服器。
rsync -avz -e ssh /path/to/source/ user@remote_host:/path/to/destination/
- 同步遠程目錄:直接同步兩個遠程伺服器上的目錄。
rsync -avz -e ssh user1@host1:/path/to/source/ user2@host2:/path/to/destination/
Rsync 的高級用法
- 排除文件:使用
--exclude
選項排除不需要同步的文件或目錄。 - 同步時保留文件屬性:使用
-a
選項可以保留文件的許可權、時間戳等屬性。 - 同步時忽略文件的許可權:使用
--no-perms
選項忽略文件許可權。 - 同步時忽略文件的所有權:使用
--no-owner
選項忽略文件的所有權。
結論
rsync
是一個功能強大且靈活的文件同步工具,它在數據備份、文件同步和遷移方面有著廣泛的應用。通過合理使用 rsync
的各種選項,可以有效地提高數據傳輸的效率和安全性。無論是系統管理員還是普通用戶,掌握 rsync
的使用都是提高工作效率的重要技能。
本文來自博客園,作者:dashery,轉載請註明原文鏈接:https://www.cnblogs.com/ydswin/p/18401892