將文件從一個位置複製到另一個位置是一項非常基本的任務,可以使用 cp 命令輕鬆完成。但是,有時您必須做更多的事情。這就是 rsync 命令發揮作用的地方,尤其是在傳輸大文件時。 Rsync(Remote Sync)是一個基於Linux的命令行工具,可用於在本地和遠程服務器之間同步和復製文件。您可以在同一台計算機上的兩個目錄之間、同一網絡上兩台不同計算機上的目錄之間或遠程系統上的兩個目錄之間同步文件。
rsync的主要優點是它可以只分析和發送源和目標之間的差異,而不是盲目地複制所有內容,節省系統資源和帶寬。 rsync 的其他優點是:
- 傳輸前壓縮文件
- 可以在數據傳輸過程中顯示進度條
- 您可以暫停複製過程並稍後恢復
- 允許通過 SSH 連接傳輸
本文介紹如何在 Linux 上使用 rsync 複製數據。本文中描述的過程將使用 Debian 10 進行演示。
安裝 rsync
大多數 Linux 操作系統都默認安裝了 Rsync。但是,如果未安裝,您可以按照以下步驟進行安裝:
在您的系統中輸入終端應用程序 活動 Debian 桌面左上角的選項卡。然後在搜索欄輸入 終端當終端圖標出現時,單擊它以啟動它。
通過在終端中運行以下命令來安裝 rsync 實用程序:
$ apt install rsync
使用 rsync
所有 rsync 命令都是 同步 之後是允許您指定各種參數的選項。 Rsync 有許多選項可讓您控制制定傳輸規範。然後是源和目標,這取決於它們是遠程機器還是本地機器。
rsync 的基本語法是:
$ rsync [option] [source] [destination]
與 rsync 命令一起使用的常用選項:
- -v : 細節
- -1 :存檔模式。允許遞歸複製文件、保留符號鏈接、文件權限、用戶和組所有權以及時間戳。
- -什麼時候 : 壓縮數據
- -H : 人類可讀的格式。以人類可讀的格式打印數字。
- – 最大尺寸 =SIZE,以指定的最小大小傳輸文件
- –最小尺寸=SIZE,傳輸文件到指定的SIZE
以下是使用 rsync 和這些選項的一些示例。
將文件和目錄複製到本地服務器
在本地複製文件
您可以將一個或多個文件從源目錄複製到同一台機器上的目標目錄。一個例子是複制所有 .jpg 文件來自 〜/下載 目錄到 〜/文件 目錄使用以下命令:
$ rsync -zvh /home/tin/Downloads/*.jpg /home/tin/Documents
當我運行上述命令時,所有 .jpg 源目錄中的文件 /首頁/錫/下載 將被複製到目標目錄/主頁/馬口鐵/文件.
在上面的示例中,我使用了類似的選項 -什麼時候 用於壓縮, -v 用於詳細輸出和 -H 用於人類可讀的輸出。
本地拷貝目錄
與文件一樣,您也可以使用 rsync 命令複製目錄中包含的整個文件夾和文件。一個例子是複制所有文件 〜/下載 目錄到 〜/文件 目錄使用以下命令:
$ rsync -zavh /home/tin/Downloads/ /home/tin/Documents
將文件複製到遠程服務器
您可以將一個或多個文件從源目錄複製到遠程計算機上的目標目錄。例如,要將文件從本地計算機複製到遠程計算機,請使用以下命令語法:
$ rsync [options] [local path] [user]@[remote server]:[remote path]
根據最大大小複製文件
您還可以使用 rsync 指定可以從源複製到目標的最大文件大小。為此,請使用以下命令語法:
$ rsync --max-size=”” [source] [destination]
一個示例是從源複製最大大小為 4000K 的文件。 〜/下載 到目的地 〜/文件 目錄。在這種情況下,大於 4000k 的文件將不會被複製到目標。
$ rsync --max-size=4000k /home/tin/Downloads/*.iso /home/tin/Documents/
根據最小大小複製文件
同樣,您可以使用 rsync 指定可以從源複製到目標的最小大小。為此,請使用以下命令語法:
$ rsync --min-size=”” [source] [destination]
一個例子是從源複製一個最大大小為 2M 的文件。 〜/下載 到目的地 〜/文件 目錄。大小小於 2M 的文件不會使用 rsync 複製。
$ rsync --min-size=2M /home/tin/Downloads/*.iso /home/tin/Documents/
顯示進度
您還可以在使用 rsync 複製文件時查看進度。添加 -進步 rsync 命令後面的標誌如下:
$ rsync --progress [source] [destination]
例如,您可以在從源複製文件時檢查進度 〜/下載 到目的地 〜/文件 目錄:
$ rsync --progress /home/tin/Downloads/VTS_03_1.VOB /home/tin/Documents
排除文件
您還可以在使用 rsync 將文件從源複製到目標時排除某些文件。例如,從源複製文件時排除所有 .pdf 文件 〜/下載 到目的地 〜/文件 目錄。
rsync -zavh --exclude="*.pdf" /home/tin/Downloads/ /home/tin/Documents
輸入以下命令將所有文件從源複製到目標。 .pdf 文檔。
就這樣!我們已經介紹了 rsync 實用程序在本地和遠程不同目錄之間複製文件的基本用法。它還描述了一些常見且有用的 rync 選項。除此之外,還有許多選項可用於控制傳輸行為的各個方面。要使用這些選項,請參閱 rsync 手冊頁。