如何在Linux上使用rsync命令複製目錄和文件

使用Linux rsync命令從命令行複製文件夾/文件

rsync是Linux的一個文件傳輸程序,它允許你用一個簡單的命令複製目錄和文件,這個命令包括傳統複製功能之外的附加選項。

rsync的一個有用的功能是,當你使用它複製目錄時,你可以用系統的方式排除文件。 這樣,如果您使用rsync進行文件備份,則只需備份您真正想要歸檔的文件,同時避免其他任何操作。

rsync示例

正確使用rsync命令需要您遵循正確的語法

rsync [OPTION] ... [SRC] ... [DEST] rsync [OPTION] ... [SRC] ... [USER @] HOST:DEST rsync [OPTION] ... [SRC] ... [ USER @] HOST :: DEST rsync [OPTION] ... [SRC] ... rsync:// [USER @] HOST [:PORT] / DEST rsync [OPTION] ... [USER @] HOST:SRC [ DEST] rsync [OPTION] ... [USER @] HOST :: SRC [DEST] rsync [OPTION] ... rsync:// [USER @] HOST [:PORT] / SRC [DEST]

上面提供的選項空間可以填充許多東西。 請參閱rsync文檔頁面的“ 選項摘要”部分以獲取完整列表。

以下僅舉幾個例子來說明如何在這些選項中使用rsync:

提示:在所有這些示例中,粗體文本都不能更改,因為它是命令的一部分。 正如你所看到的那樣,文件夾路徑和其他選項是我們特定示例的自定義屬性,所以在使用它們時它們會有所不同。

rsync /home/jon/Desktop/data/*.jpg / home / jon / Desktop / backupdata /

在上面的例子中,/ data /文件夾中的所有JPG文件都被複製到用戶Jon桌面文件夾的/ backupdata /文件夾中。

rsync --max-size = 2k / home / jon / Desktop / data / / home / jon / Desktop / backupdata /

rsync的這個例子有點複雜,因為它被設置為復製文件,如果它們大於2,048 KB。 也就是說,只複製小於規定大小的文件。 可以使用k,mg來指示1,024乘數中的千字節,兆字節和千兆字節或者使用千位,千位或千位來使用1,000。

rsync --min-size = 30mb / home / jon / Desktop / data / / home / jon / Desktop / backupdata /

正如你在上面看到的那樣,-- min-size也可以做到這一點。 在這個例子中,rsync只會復制30 MB或更大的文件。

rsync --min-size = 30mb --progress / home / jon / Desktop / data / / home / jon / Desktop / backupdata /

在復制非常大的文件時(例如30 MB或更大),尤其是在存在大量文件時,您可能希望看到復制功能的進度,而不是假定該命令已凍結。 在這些情況下,使用--progress選項來觀察過程達到100%。

rsync --recursive / home / jon / Desktop / data / home / jon / Desktop / data2

--recursive選項提供了一個簡單的方法來將整個文件夾複製到不同的位置,如我們的示例中的/ data2 /文件夾。

rsync -r --exclude =“* .deb / home / jon / Desktop / data / home / jon / Desktop / backupdata

您也可以復制整個文件夾,但排除特定文件擴展名的文件 ,例如上例中的DEB文件。 這一次,整個/ data /文件夾被複製到前面例子中的/ backupdata /中,但是所有的DEB文件都被排除在副本之外。