欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux Rsync 命令16 個(gè)實(shí)戰(zhàn)示例小結(jié)

 更新時(shí)間:2025年08月04日 09:52:20   作者:企鵝俠客  
本文介紹rsync在Linux/Unix系統(tǒng)中的應(yīng)用,涵蓋遠(yuǎn)程與本地文件同步、備份及鏡像功能,其主要優(yōu)勢包括差異傳輸、保留權(quán)限、支持SSH加密、增量備份和帶寬控制,本文介紹Linux Rsync命令16個(gè)實(shí)戰(zhàn)示例,感興趣的朋友一起看看吧

Rsync(遠(yuǎn)程同步)是Linux/Unix系統(tǒng)中用于遠(yuǎn)程和本地復(fù)制及同步文件和目錄的常用工具。

利用rsync命令,您可以輕松地在不同目錄、硬盤和網(wǎng)絡(luò)之間進(jìn)行數(shù)據(jù)的遠(yuǎn)程和本地復(fù)制與同步,進(jìn)行數(shù)據(jù)備份,以及在兩臺(tái)Linux系統(tǒng)間創(chuàng)建鏡像。

這篇文章介紹了rsync命令的16個(gè)基本和進(jìn)階用法,幫助您在Linux系統(tǒng)上實(shí)現(xiàn)文件的遠(yuǎn)程和本地傳輸。執(zhí)行rsync命令不需要root權(quán)限。

Rsync命令的好處

rsync 命令具有多項(xiàng)優(yōu)點(diǎn),例如:

  • 高效傳輸 - rsync 采用差異傳輸算法,僅傳輸源文件與目標(biāo)文件之間的不同部分,大幅減少數(shù)據(jù)傳輸量,特別適合同步大文件或文件夾。
  • 遠(yuǎn)程同步 - rsync 支持通過SSH進(jìn)行本地和遠(yuǎn)程文件傳輸,便于在本地和遠(yuǎn)程系統(tǒng)間同步文件或在多臺(tái)設(shè)備間鏡像文件夾。
  • 增量備份 - rsync 非常適合進(jìn)行增量備份,因?yàn)樗軌蚋咝У貏?chuàng)建和更新備份,只傳輸新增或修改過的文件。
  • 保留權(quán)限 - rsync 能夠保持文件的多種屬性,包括權(quán)限、所有者、時(shí)間戳和符號(hào)鏈接,確保復(fù)制的文件在目標(biāo)位置保持原樣。
  • 控制帶寬 - rsync 允許限制文件傳輸時(shí)的帶寬使用,它在數(shù)據(jù)傳輸過程中使用壓縮和解壓縮技術(shù)。
  • 速度更快 - rsync 在傳輸文件時(shí)速度通常比scp(安全復(fù)制)更快,特別是在同步大型目錄或處理已經(jīng)部分傳輸或已存在于目標(biāo)位置的文件時(shí)。

Rsync命令的語法

rsync命令遵循如下語法:

# rsync [OPTIONS] SOURCE DESTINATION

以下是rsync命令中不同組成部分和選項(xiàng)的說明:

  • -v – 輸出詳細(xì)信息,展示文件傳輸?shù)脑敿?xì)過程。
  • -r – 遞歸復(fù)制數(shù)據(jù)(但此過程中不會(huì)保留文件的時(shí)間戳和權(quán)限)。
  • -a – 歸檔模式,可以遞歸復(fù)制文件,并保留符號(hào)鏈接、文件權(quán)限、用戶和組的所有者信息以及時(shí)間戳。
  • -z – 傳輸時(shí)壓縮文件,以減少網(wǎng)絡(luò)流量。
  • -h – 易于理解的格式,以更易于理解的方式顯示數(shù)字。
  • -P – 傳輸時(shí)顯示進(jìn)度條。
  • SOURCE – 指定要傳輸?shù)脑次募蚰夸?,可以是本地或遠(yuǎn)程路徑。
  • DESTINATION – 指定文件或目錄復(fù)制的目標(biāo)路徑,可以是本地或遠(yuǎn)程路徑。

在Linux系統(tǒng)中安裝Rsync

我們可以根據(jù)您的 Linux 發(fā)行版借助以下軟件包管理器安裝 rsync 軟件包。

$ sudo apt install rsync         [On Debian, Ubuntu and Mint]
$ sudo yum install rsync         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/rsync  [On Gentoo Linux]
$ sudo apk add rsync            [On Alpine Linux]
$ sudo pacman -S rsync           [On Arch Linux]
$ sudo zypper install rsync      [On OpenSUSE]

1. 本地文件復(fù)制/同步

若要在同一臺(tái)計(jì)算機(jī)內(nèi)復(fù)制或同步文件,您可以執(zhí)行如下命令,將單個(gè)文件從一個(gè)目錄移動(dòng)到另一個(gè)目錄。

例如,假設(shè)我們需要將名為 backup.tar 的文件復(fù)制或同步到本地的 /tmp/backups/ 目錄下。

[root@tecmint]# rsync -zvh backup.tar.gz /tmp/backups/
created directory /tmp/backups
backup.tar.gz
sent 224.54K bytes  received 70 bytes  449.21K bytes/sec
total size is 224.40K  speedup is 1.00

在上面的示例中,您可以看到,如果目標(biāo)尚不存在,rsync 將自動(dòng)為目標(biāo)創(chuàng)建一個(gè)目錄。

2. 本地復(fù)制/同步目錄

以下命令將把所有文件從一個(gè)目錄傳輸或同步到同一臺(tái)機(jī)器上的另一個(gè)目錄。

在此示例中,/root/rpmpkgs 包含一些 rpm 軟件包文件,并且您希望將該目錄復(fù)制到 /tmp/backups/ 文件夾中。

[root@tecmint]# rsync -avzh /root/rpmpkgs /tmp/backups/
sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm
sent 3.47M bytes  received 96 bytes  2.32M bytes/sec
total size is 3.74M  speedup is 1.08

3. 將目錄從本地復(fù)制到遠(yuǎn)程服務(wù)器

要將目錄從本地服務(wù)器復(fù)制到遠(yuǎn)程服務(wù)器,可以使用以下命令,該命令會(huì)將目錄從本地計(jì)算機(jī)同步到遠(yuǎn)程計(jì)算機(jī)。

例如,如果本地計(jì)算機(jī)中有一個(gè)文件夾“rpmpkgs”,其中包含一些 RPM 軟件包,并且您希望將該本地目錄的內(nèi)容發(fā)送到遠(yuǎn)程服務(wù)器,則可以使用以下命令。

# rsync -avzh /root/rpmpkgs root@192.168.0.141:/root/
The authenticity of host '192.168.0.141 (192.168.0.141)' can't be established.
ED25519 key fingerprint is SHA256:bH2tiWQn4S5o6qmZhmtXcBROV5TU5H4t2C42QDEMx1c.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.141' (ED25519) to the list of known hosts.
root@192.168.0.141's password: 
sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm
sent 3.74M bytes  received 96 bytes  439.88K bytes/sec
total size is 3.74M  speedup is 1.00

4. 將目錄從遠(yuǎn)程復(fù)制到本地服務(wù)器

此命令將幫助您將遠(yuǎn)程目錄同步到本地目錄。在此示例中,遠(yuǎn)程服務(wù)器上的目錄 /root/rpmpkgs 被復(fù)制到本地計(jì)算機(jī)的 /tmp/myrpms 中。

# rsync -avzh root@192.168.0.141:/root/rpmpkgs /tmp/myrpms
root@192.168.0.141's password: 
receiving incremental file list
created directory /tmp/myrpms
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm
sent 104 bytes  received 3.49M bytes  997.68K bytes/sec
total size is 3.74M  speedup is 1.07

5. 通過 SSH 進(jìn)行 Rsync

通過rsync,我們可以使用SSH(Secure Shell)進(jìn)行數(shù)據(jù)傳輸,在傳輸數(shù)據(jù)時(shí)使用SSH協(xié)議您可以確保您的數(shù)據(jù)在加密的安全連接中傳輸,這樣在傳輸過程中沒有人可以讀取您的數(shù)據(jù)通過互聯(lián)網(wǎng)上的電線。

此外,當(dāng)我們使用 rsync 時(shí),我們需要提供用戶/root 密碼來完成該特定任務(wù),因此使用 SSH 選項(xiàng)將以加密方式發(fā)送您的登錄信息,以便您的密碼安全。

要通過 SSH 使用 rsync,可以使用 -e 選項(xiàng)指定遠(yuǎn)程 shell 命令,通常是 ssh,如圖所示。

# rsync [OPTIONS] -e ssh /path/to/source user@remote:/path/to/destination

6. 使用 SSH 將文件從遠(yuǎn)程服務(wù)器復(fù)制到本地服務(wù)器

要將文件從遠(yuǎn)程服務(wù)器同步到本地服務(wù)器,您可以使用“-e”選項(xiàng)和您要使用的協(xié)議名稱來指定 rsync 協(xié)議。

在此示例中,我們將使用帶有“-e”選項(xiàng)的“ssh”并執(zhí)行數(shù)據(jù)傳輸。

# rsync -avzhe ssh root@192.168.0.141:/root/anaconda-ks.cfg /tmp
root@192.168.0.141's password: 
receiving incremental file list
anaconda-ks.cfg
sent 43 bytes  received 1.10K bytes  325.43 bytes/sec
total size is 1.90K  speedup is 1.67

7. 使用 SSH 將文件從本地服務(wù)器復(fù)制到遠(yuǎn)程服務(wù)器

要使用 SSH 將文件從本地服務(wù)器同步到遠(yuǎn)程服務(wù)器,您可以利用以下命令,如下所示。

# rsync -avzhe ssh backup.tar.gz root@192.168.0.141:/backups/
root@192.168.0.141's password: 
sending incremental file list
created directory /backups
backup.tar.gz
sent 224.59K bytes  received 66 bytes  64.19K bytes/sec
total size is 224.40K  speedup is 1.00

8. 使用 Rsync 傳輸數(shù)據(jù)時(shí)顯示進(jìn)度

要顯示將數(shù)據(jù)從一臺(tái)計(jì)算機(jī)傳輸?shù)搅硪慌_(tái)計(jì)算機(jī)時(shí)的進(jìn)度,我們可以使用“–progress”選項(xiàng),該選項(xiàng)顯示文件以及完成傳輸?shù)氖S鄷r(shí)間。

# rsync -avzhe ssh --progress /root/rpmpkgs root@192.168.0.141:/root/rpmpkgs
root@192.168.0.141's password: 
sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
          1.47M 100%   31.80MB/s    0:00:00 (xfr#1, to-chk=3/5)
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
        138.01K 100%    2.69MB/s    0:00:00 (xfr#2, to-chk=2/5)
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
          2.01M 100%   18.45MB/s    0:00:00 (xfr#3, to-chk=1/5)
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm
        120.48K 100%    1.04MB/s    0:00:00 (xfr#4, to-chk=0/5)
sent 3.74M bytes  received 96 bytes  1.50M bytes/sec
total size is 3.74M  speedup is 1.00

到此這篇關(guān)于Linux Rsync 命令16 個(gè)實(shí)戰(zhàn)示例小結(jié)的文章就介紹到這了,更多相關(guān)linux rsync命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論