成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

scp 用戶的 rsync 遷移指南

系統 Linux
本文將為熟悉 scp 的人提供一個介紹和過渡的指南。讓我們跳進最常見的場景:復制文件和復制目錄。

[[340607]]

在 SSH 8.0 預發布公告中,OpenSSH 項目表示,他們認為 scp 協議已經過時,不靈活,而且不容易修復,然后他們繼而推薦使用 sftp 或 rsync 來進行文件傳輸。

然而,很多用戶都是從小用著 scp 命令長大的,所以對 rsync 并不熟悉。此外,rsync 可以做的事情也遠不止復制文件,這可能會給菜鳥們留下復雜和難以掌握的印象。尤其是,scp 命令的標志大體上可以直接對應到 cp 命令的標志,而 rsync 命令的標志卻和它大相徑庭。

本文將為熟悉 scp 的人提供一個介紹和過渡的指南。讓我們跳進最常見的場景:復制文件和復制目錄。

復制文件

對于復制單個文件而言,scp 和 rsync 命令實際上是等價的。比方說,你需要把 foo.txt 傳到你在名為 server 的服務器上的主目錄下:

  1. $ scp foo.txt me@server:/home/me/

相應的 rsync 命令只需要輸入 rsync 取代 scp

  1. $ rsync foo.txt me@server:/home/me/

復制目錄

對于復制目錄,就有了很大的分歧,這也解釋了為什么 rsync 會被認為比 scp 更復雜。如果你想把 bar 目錄復制到 server 服務器上,除了指定 ssh 信息外,相應的 scp 命令和 cp 命令一模一樣。

  1. $ scp -r bar/ me@server:/home/me/

對于 rsync,考慮的因素比較多,因為它是一個比較強大的工具。首先,我們來看一下最簡單的形式:

  1. $ rsync -r bar/ me@server:/home/me/

看起來很簡單吧?對于只包含目錄和普通文件的簡單情況,這就可以了。然而,rsync 更在意發送與主機系統中一模一樣的文件。讓我們來創建一個稍微復雜一些,但并不罕見的例子:

  1. # 創建多級目錄結構
  2. $ mkdir -p bar/baz
  3. # 在其根目錄下創建文件
  4. $ touch bar/foo.txt
  5. # 現在創建一個符號鏈接指回到該文件
  6. $ cd bar/baz
  7. $ ln -s ../foo.txt link.txt
  8. # 返回原位置
  9. $ cd -

現在我們有了一個如下的目錄樹:

  1. bar
  2. ├── baz
  3. └── link.txt -> ../foo.txt
  4. └── foo.txt
  5.  
  6. 1 directory, 2 files

如果我們嘗試上面的命令來復制 bar,我們會注意到非常不同的(并令人驚訝的)結果。首先,我們來試試 scp

  1. $ scp -r bar/ me@server:/home/me/

如果你 ssh 進入你的服務器,看看 bar 的目錄樹,你會發現它和你的主機系統有一個重要而微妙的區別:

  1. bar
  2. ├── baz
  3. └── link.txt
  4. └── foo.txt
  5.  
  6. 1 directory, 2 files

請注意,link.txt 不再是一個符號鏈接,它現在是一個 foo.txt 的完整副本。如果你習慣于使用 cp,這可能會是令人驚訝的行為。如果你嘗試使用 cp -r 復制 bar 目錄,你會得到一個新的目錄,里面的符號鏈接和 bar 的一樣。現在如果我們嘗試使用之前的 rsync 命令,我們會得到一個警告:

  1. $ rsync -r bar/ me@server:/home/me/
  2. skipping non-regular file "bar/baz/link.txt"

rsync 警告我們它發現了一個非常規文件,并正在跳過它。因為你沒有告訴它可以復制符號鏈接,所以它忽略了它們。rsync 在手冊中有一節“符號鏈接”,解釋了所有可能的行為選項。在我們的例子中,我們需要添加 -links 標志:

  1. $ rsync -r --links bar/ me@server:/home/me/

在遠程服務器上,我們看到這個符號鏈接是作為一個符號鏈接復制過來的。請注意,這與 scp 復制符號鏈接的方式不同。

  1. bar/
  2. ├── baz
  3. └── link.txt -> ../foo.txt
  4. └── foo.txt
  5.  
  6. 1 directory, 2 files

為了省去一些打字工作,并利用更多的文件保護選項,在復制目錄時可以使用歸檔標志 -archive(簡稱 -a)。該歸檔標志將做大多數人所期望的事情,因為它可以實現遞歸復制、符號鏈接復制和許多其他選項。

  1. $ rsync -a bar/ me@server:/home/me/

如果你感興趣的話,rsync 手冊頁有關于存檔標志的深入解釋。

注意事項

不過,使用 rsync 有一個注意事項。使用 scp 比使用 rsync 更容易指定一個非標準的 ssh 端口。例如,如果 server 使用 8022 端口的 SSH 連接,那么這些命令就會像這樣:

  1. $ scp -P 8022 foo.txt me@server:/home/me/

而在使用 rsync 時,你必須指定要使用的“遠程 shell”命令,默認是 ssh。你可以使用 -e 標志來指定。

  1. $ rsync -e 'ssh -p 8022' foo.txt me@server:/home/me/

rsync 會使用你的 ssh 配置;但是,如果你經常連接到這個服務器,你可以在你的 ~/.ssh/config 文件中添加以下代碼。這樣你就不需要再為 rsync 或 ssh 命令指定端口了!

  1. Host server
  2. Port 8022

另外,如果你連接的每一臺服務器都在同一個非標準端口上運行,你還可以配置 RSYNC_RSH 環境變量。

為什么你還是應該切換到 rsync?

現在我們已經介紹了從 scp 切換到 rsync 的日常使用案例和注意事項,讓我們花一些時間來探討一下為什么你可能想要使用 rsync 的優點。很多人在很久以前就已經開始使用 rsync 了,就是因為這些優點。

即時壓縮

如果你和服務器之間的網絡連接速度較慢或有限,rsync 可以花費更多的 CPU 處理能力來節省網絡帶寬。它通過在發送數據之前對數據進行即時壓縮來實現。壓縮可以用 -z 標志來啟用。

差量傳輸

rsync 也只在目標文件與源文件不同的情況下復制文件。這可以在目錄中遞歸地工作。例如,如果你拿我們上面的最后一個 bar 的例子,并多次重新運行那個 rsync 命令,那么在最初的傳輸之后就不會有任何傳輸。如果你知道你會重復使用這些命令,例如備份到 U 盤,那么使用 rsync 即使是進行本地復制也是值得的,因為這個功能可以節省處理大型數據集的大量的時間。

同步

顧名思義,rsync 可以做的不僅僅是復制數據。到目前為止,我們只演示了如何使用 rsync 復制文件。如果你想讓 rsync 把目標目錄變成源目錄的樣子,你可以在 rsync 中添加刪除標志 -delete。這個刪除標志使得 rsync 將從源目錄中復制不存在于目標目錄中的文件,然后它將刪除目標目錄中不存在于源目錄中的文件。結果就是目標目錄和源目錄完全一樣。相比之下,scp 只會在目標目錄下添加文件。

結論

對于簡單的使用情況,rsync 并不比老牌的 scp 工具復雜多少。唯一顯著的區別是在遞歸復制目錄時使用 -a 而不是 -r。然而,正如我們看到的,rsync 的 -a 標志比 scp 的 -r 標志更像 cp 的 -r 標志。

希望通過這些新命令,你可以加快你的文件傳輸工作流程。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2023-11-06 12:45:00

GormGo

2020-08-17 07:00:00

數據遷移數據中心技術

2012-03-08 09:23:28

WindowsServer 2008

2024-09-08 12:25:37

2023-10-19 16:39:38

2020-04-26 14:25:56

目錄Linux操作系統

2019-01-31 10:53:53

企業數據遷移云端

2024-04-30 10:35:02

數據中心

2023-08-01 21:43:48

2022-01-19 12:23:36

云遷移云端

2011-11-17 14:27:51

10 GbEWAN遷移

2025-07-04 02:00:00

FluentdFluent Bit性能

2017-06-30 09:36:10

Android OAPI兼容

2009-11-18 09:28:44

linuxscp命令

2010-06-09 15:53:30

UML建模

2017-08-05 16:31:51

TiDBTiSpark數據庫

2014-04-21 15:01:15

2023-09-06 16:26:36

2011-10-09 10:11:46

The Open Gr云計算遷移

2022-03-04 18:11:16

信服云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色吊丝2288sds中文字幕 | 日韩一级一区 | 国产亚洲欧美在线 | 红色av社区| 麻豆av电影网 | 欧美在线激情 | 99色播 | 日韩中文在线 | 午夜视频一区二区三区 | 日韩精品免费视频 | 亚洲精品888 | 一区日韩 | 91原创视频在线观看 | 久久久久久综合 | 欧美日韩视频在线第一区 | 久热m3u8| 成人一区二区三区在线 | 欧美激情精品久久久久久变态 | 国产精品久久久久一区二区 | 久久久久亚洲 | 久久久91精品国产一区二区精品 | 欧美网站一区二区 | 日本一区二区在线视频 | 精品中文字幕在线观看 | 日本不卡一区二区三区 | 久久一区二区免费视频 | 一区二区三区国产 | 91国在线视频 | 精品久久久精品 | 久青草影院 | 久久久国产视频 | 99成人| 欧美精品一区二区三区蜜桃视频 | 欧美二区在线 | 午夜丁香视频在线观看 | 国产精品精品久久久 | 久久久久九九九女人毛片 | 国产一级精品毛片 | 日韩欧美一级片 | 在线观看视频91 | 一级在线观看 |