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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

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

Rsync用于在兩個遠程計算機之間同步文件和文件夾。它僅通過傳輸源和目標之間的差異來提供快速的增量文件傳輸。

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

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

安裝rsync

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

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

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

Rsync命令

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

其中OPTION是rsync選項。SRC是源目錄。DEST是目標目錄。USER是遠程用戶名。HOST是遠程主機名名稱,可以是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提供了許多控制其行為的選項。以下是最經(jīng)常使用的選項。

-a/--archive存檔模式,等效于-rlptgoD。此選項指示rsync遞歸同步目錄,傳輸特殊設備和塊設備,保留符號鏈接,組,所有權和權限等。

-z/--compress,此選項將強制rsync在數(shù)據(jù)發(fā)送給目標計算機之前對數(shù)據(jù)進行壓縮。

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

--delete使用此選項時,rsync將從目標位置刪除相同的文件。適合用于鏡像文件。

-q/--quiet此選項禁止顯示非錯誤消息。-e此選項使您可以選擇其他遠程shell程序。默認使用ssh。

Rsync基礎

rysnc最簡單的用法就是在本地的目錄之間復制文件。運行rysnc命令的用戶必須對源目錄或者文件具有讀取權限,并且對目標目錄具有寫入權限。

如果目標參數(shù)未指定文件名,rsync將會保留原始文件名稱。要使用其它文件名稱保復制文件,請在目標參數(shù)指定文件名。

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

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

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

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

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

當使用rsync進行遠程傳輸時,rsync必須安裝在源計算機和目標計算機。rsync默使用SSH作為遠程shell程序。

如果您尚未為遠程計算機設置SSH無密碼登錄,rsync會要求您輸入用戶名和密碼。遠程計算機SSH服務監(jiān)聽的端口不是默認端口22時,請使用-e選項指定端口。

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

Rsync 同步本地目錄到遠程計算機

remote_user是遠程計算機的用戶名,remote_host_or_ip遠程計算機的IP地址或者可解釋的域名。

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

Rsync 同步遠程計算機目錄到本地目錄

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 后臺同步數(shù)據(jù)

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

排除文件和目錄

當你要排除文件或目錄時,您需要使用源目錄的相對路徑。有兩種方式可以排除文件和目錄。

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

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

在以下示例中,排除src_directory目錄的node_modulestmp目錄,也就是目錄src_directory/node_modules,src_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é)論

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

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

    關注

    87

    文章

    11158

    瀏覽量

    208457
  • 文件
    +關注

    關注

    1

    文章

    555

    瀏覽量

    24633
  • 命令
    +關注

    關注

    5

    文章

    663

    瀏覽量

    21956
收藏 人收藏

    評論

    相關推薦

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

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

    Linux文件復制、刪除和移動命令

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

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

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

    Linux改變文件目錄的訪問權限命令

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

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

    linux中,scp命令用于Linux之間復制文件目錄,即在一臺
    發(fā)表于 09-04 15:36 ?4379次閱讀
    <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)絡命令

    3.mkdir4.rmdir5.ls使用示例:6.cp復制目錄時,常用如下命令:$ cp -rfd dir_a dir_br:recursive,遞歸地,即復制所有
    發(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)絡<b class='flag-5'>命令</b>

    如何使用cp和rsync命令復制文件目錄

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

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

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

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

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

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

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

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

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

    恒訊科技分析:如何使用cp命令Linux復制目錄?

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

    linux刪除文件命令rm

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

    linux常用命令及用法

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

    linux備份文件命令bak

    Linux系統(tǒng)中,備份文件是非常重要的,它可以防止數(shù)據(jù)丟失和損壞的風險。為了達到安全的目的,我們經(jīng)常需要備份文件。在這篇文章中,我們將詳細介紹Linux中備份
    的頭像 發(fā)表于 11-23 10:12 ?2289次閱讀