0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Linux使用Rsync命令復(fù)制和同步文件和目錄

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2022-12-07 09:47 ? 次閱讀

Rsync用于在兩個(gè)遠(yuǎn)程計(jì)算機(jī)之間同步文件和文件夾。它僅通過傳輸源和目標(biāo)之間的差異來提供快速的增量文件傳輸。

Rsync可用于鏡像數(shù)據(jù),增量備份,在系統(tǒng)之間復(fù)制文件,可替代scpsftpcp日常等使用的命令。

rsync命令已預(yù)安裝在大多數(shù)Linux發(fā)行版和macOS??梢赃\(yùn)行命令rsync --version檢查是否已安裝rysnc,命令將會(huì)打印rysnc的版本號(hào)rsync version 3.01。

安裝rsync

如果終端提示你bash: command not found: rysnc,說明你的系統(tǒng)沒有安裝rsync??梢允褂冒l(fā)行版的軟件包管理器安裝rysnc。

如果你的計(jì)算機(jī)運(yùn)行的系統(tǒng)是基于Debian的Linux發(fā)行版,例如Ubuntu,Linux mint請(qǐng)運(yùn)行命令sudo apt install rsync安裝Rsync。

如果你的計(jì)算機(jī)運(yùn)行的系統(tǒng)是基于RedHat的Linux發(fā)行版。例如CentOS,F(xiàn)edora。請(qǐng)運(yùn)行命令sudo yum install rsync安裝Rsync。

Rsync命令

rsync語法有三種,分別是本地到本地形式Local to Local,本地到遠(yuǎn)程Local to Remote,遠(yuǎn)程到本地Remote to Local。

其中OPTION是rsync選項(xiàng)。SRC是源目錄。DEST是目標(biāo)目錄。USER是遠(yuǎn)程用戶名。HOST是遠(yuǎn)程主機(jī)名名稱,可以是IP地址或者可解釋的域名。

Local to Local:  rsync [OPTION]... [SRC]... DEST
Local to Remote: rsync [OPTION]... [SRC]... [USER@]HOST:DEST
Remote to Local: rsync [OPTION]... [USER@]HOST:SRC... [DEST]

rsync提供了許多控制其行為的選項(xiàng)。以下是最經(jīng)常使用的選項(xiàng)。

-a/--archive存檔模式,等效于-rlptgoD。此選項(xiàng)指示rsync遞歸同步目錄,傳輸特殊設(shè)備和塊設(shè)備,保留符號(hào)鏈接,組,所有權(quán)和權(quán)限等。

-z/--compress,此選項(xiàng)將強(qiáng)制rsync在數(shù)據(jù)發(fā)送給目標(biāo)計(jì)算機(jī)之前對(duì)數(shù)據(jù)進(jìn)行壓縮。

-P等效于--partial --progress。使用此選項(xiàng)時(shí),rsync將在傳輸過程中顯示進(jìn)度條并保留部分傳輸?shù)奈募?。在慢速或不穩(wěn)定的網(wǎng)絡(luò)連接傳輸大文件時(shí)非常有用。

--delete使用此選項(xiàng)時(shí),rsync將從目標(biāo)位置刪除相同的文件。適合用于鏡像文件。

-q/--quiet此選項(xiàng)禁止顯示非錯(cuò)誤消息。-e此選項(xiàng)使您可以選擇其他遠(yuǎn)程shell程序。默認(rèn)使用ssh。

Rsync基礎(chǔ)

rysnc最簡(jiǎn)單的用法就是在本地的目錄之間復(fù)制文件。運(yùn)行rysnc命令的用戶必須對(duì)源目錄或者文件具有讀取權(quán)限,并且對(duì)目標(biāo)目錄具有寫入權(quán)限。

如果目標(biāo)參數(shù)未指定文件名,rsync將會(huì)保留原始文件名稱。要使用其它文件名稱保復(fù)制文件,請(qǐng)?jiān)谀繕?biāo)參數(shù)指定文件名。

值得一提的是rsync命令會(huì)根據(jù)源目錄是否使用斜杠/,而又不同的處理方式。

如果在源目錄尾部添加斜杠,rsync會(huì)將目錄的內(nèi)容復(fù)制到目標(biāo)目錄。在省略斜杠,rsync則會(huì)將源目錄復(fù)制到目標(biāo)目錄。

rsync -a /opt/filename.zip /tmp/newfilename.zip

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

Rsync遠(yuǎn)程同步數(shù)據(jù)

當(dāng)使用rsync進(jìn)行遠(yuǎn)程傳輸時(shí),rsync必須安裝在源計(jì)算機(jī)和目標(biāo)計(jì)算機(jī)。rsync默使用SSH作為遠(yuǎn)程shell程序。

如果您尚未為遠(yuǎn)程計(jì)算機(jī)設(shè)置SSH無密碼登錄,rsync會(huì)要求您輸入用戶名和密碼。遠(yuǎn)程計(jì)算機(jī)SSH服務(wù)監(jiān)聽的端口不是默認(rèn)端口22時(shí),請(qǐng)使用-e選項(xiàng)指定端口。

當(dāng)傳輸大量數(shù)據(jù)或者大文件時(shí),建議在screen,nohup,tmux運(yùn)行rsync命令或使用rsync命令的-P選項(xiàng)。

Rsync 同步本地目錄到遠(yuǎn)程計(jì)算機(jī)

remote_user是遠(yuǎn)程計(jì)算機(jī)的用戶名,remote_host_or_ip遠(yuǎn)程計(jì)算機(jī)的IP地址或者可解釋的域名。

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Rsync 同步遠(yuǎn)程計(jì)算機(jī)目錄到本地目錄

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Rsync 指定SSH端口

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Rsync 后臺(tái)同步數(shù)據(jù)

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

排除文件和目錄

當(dāng)你要排除文件或目錄時(shí),您需要使用源目錄的相對(duì)路徑。有兩種方式可以排除文件和目錄。

第一種方式是使用rsync命令的--exclude選項(xiàng),在命令行指定要排除的文件和目錄。--exclude選項(xiàng)可以重復(fù)使用多次排除多個(gè)文件與目錄。

第二種方式是使用rsync命令的--exclude-from選項(xiàng)并指定一個(gè)文件,該文件包含要排除的目錄與文件的路徑。

在以下示例中,排除src_directory目錄的node_modulestmp目錄,也就是目錄src_directory/node_modulessrc_directory/tmp。

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/
rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/
node_modules
tmp

/exclude-file.txt

結(jié)論

在本教程中,您學(xué)習(xí)了如何在Linux使用Rsync命令復(fù)制和同步文件和目錄。如有任何疑問,請(qǐng)隨時(shí)發(fā)表評(píng)論。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209476
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    566

    瀏覽量

    24742
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    684

    瀏覽量

    22021
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    何在Linux使用rm刪除文件目錄

    rm命令用于刪除文件目錄。它是每個(gè)Linux用戶都應(yīng)該熟悉的基本命令之一。
    發(fā)表于 12-08 16:49 ?2578次閱讀

    linux目錄操作命令有哪些?linux基礎(chǔ)入門

    rm(移除文件目錄)用法:rm -f就是 force 的意思,忽略不存在的文件,不會(huì)出現(xiàn)警告信息;rm -i互動(dòng)模式,在刪除前會(huì)詢問使用者是否動(dòng)作;rm -r遞歸刪除,最常用在目錄
    發(fā)表于 01-17 14:31

    Linux文件復(fù)制、刪除和移動(dòng)命令

    Linux文件復(fù)制、刪除和移動(dòng)命令 Linux文件復(fù)制
    發(fā)表于 01-18 12:45 ?1254次閱讀

    Linux目錄的創(chuàng)建與刪除命令

    Linux目錄的創(chuàng)建與刪除命令 Linux目錄的創(chuàng)建與刪除命令  mkdir
    發(fā)表于 01-18 12:46 ?1319次閱讀

    Linux改變文件目錄的訪問權(quán)限命令

    Linux改變文件目錄的訪問權(quán)限命令 Linux改變文件
    發(fā)表于 01-18 12:46 ?1201次閱讀

    linux的scp命令怎么用_linux的grep命令用法

    linux中,scp命令用于Linux之間復(fù)制文件目錄,即在一臺(tái)
    發(fā)表于 09-04 15:36 ?4427次閱讀
    <b class='flag-5'>linux</b>的scp<b class='flag-5'>命令</b>怎么用_<b class='flag-5'>linux</b>的grep<b class='flag-5'>命令</b>用法

    Linux常用命令/查找/搜索命令/壓縮/解壓命令網(wǎng)絡(luò)命令

    3.mkdir4.rmdir5.ls使用示例:6.cp復(fù)制目錄時(shí),常用如下命令:$ cp -rfd dir_a dir_br:recursive,遞歸地,即復(fù)制所有
    發(fā)表于 12-16 16:53 ?12次下載
    <b class='flag-5'>Linux</b>常用<b class='flag-5'>命令</b>/查找/搜索<b class='flag-5'>命令</b>/壓縮/解壓<b class='flag-5'>命令</b>網(wǎng)絡(luò)<b class='flag-5'>命令</b>

    如何使用cp和rsync命令復(fù)制文件目錄

    復(fù)制文件目錄是在使用命令行時(shí)最常見的任務(wù)之一。在Linux,有兩個(gè)命令用于
    的頭像 發(fā)表于 12-07 17:39 ?6941次閱讀

    何在Linux使用wc命令統(tǒng)計(jì)目錄文件

    盡管不是很經(jīng)常需要知道,但有時(shí)您需要找出指定目錄中有多少個(gè)文件。例如,Linux系統(tǒng)inodes用完,則需要查找哪個(gè)目錄包含成千上萬個(gè)文件。
    的頭像 發(fā)表于 12-09 16:48 ?1842次閱讀

    何在Linux使用rsync命令排除文件目錄

    Rsync是一種快速同步命令行程序,用于在兩個(gè)計(jì)算機(jī)之間同步文件文件夾。借助
    的頭像 發(fā)表于 12-23 16:49 ?7648次閱讀

    何在Linux使用du命令統(tǒng)計(jì)目錄文件的大小

    du命令是`disk usage`的縮寫,打印文件目錄使用的磁盤空間量估算。這對(duì)于查找占用大量磁盤空間的文件目錄非常有用。
    的頭像 發(fā)表于 01-04 17:25 ?6400次閱讀

    恒訊科技分析:如何在Linux上使用rm命令刪除文件目錄

    本指南展示了如何在Linux中使用rm命令行刪除文件、目錄和其他內(nèi)容?
    的頭像 發(fā)表于 06-09 17:02 ?1181次閱讀

    恒訊科技分析:如何使用cp命令Linux復(fù)制目錄

    復(fù)制目錄Linux中的一項(xiàng)基本任務(wù),它允許我們復(fù)制目錄、創(chuàng)建備份或在不同位置之間傳輸數(shù)據(jù)。在Linux
    的頭像 發(fā)表于 06-26 17:14 ?703次閱讀

    linux刪除文件命令rm

    Linux系統(tǒng)中,可以使用rm命令來刪除文件目錄。該命令的功能是刪除一個(gè)目錄中的一個(gè)或多個(gè)
    的頭像 發(fā)表于 11-13 16:42 ?946次閱讀

    linux常用命令及用法

    用法,幫助讀者更好地使用Linux。 文件操作命令: ls命令:用于列出當(dāng)前目錄文件和子
    的頭像 發(fā)表于 11-17 09:47 ?668次閱讀