1. 前言
本文主要講解linux系統中的Rsync如何利用SSH加密隧道同步文件。
在網絡系統之間傳輸或同步文件時,Linux和Unix用戶可以使用很多工具。
Rsync如何利用SSH加密隧道同步文件
最流行的數據傳輸協議是SSH和FTP。雖然FTP非常流行,但我總是更喜歡使用SSH,因為它是同步或傳輸文件的最安全的方式。
有一些專門的工具可以在SSH上傳輸文件,比如scp和sftp,但是沒有一個具有rsync提供的所有特性。rsync可以用于鏡像數據、增量備份、在系統之間同步和復制文件等等。
在本教程中,我們將解釋如何通過SSH使用rsync同步和復制文件。
2. Rsync加密同步文件前提條件
Rsync加密同步文件前提條件
- SSH可以訪問遠程計算機。
- 運行rsync命令的用戶和遠程SSH用戶必須具有讀取和寫入文件的適當權限。
rsync實用程序必須同時安裝在目標服務器系統和源服務器系統上。即Rsync有服務端和客戶端。
如果沒有安裝,可以使用發行版的包管理器安裝:
Ubuntu和Debian系統:
sudo apt install rsync
centos和Fedora系統:
sudo yum install rsync
3. 利用SSH加密隧道同步文件或傳輸流量
使用rsync,您可以利用SSH加密隧道將文件和目錄從遠程服務器傳輸到遠程服務器。
利用SSH加密隧道同步文件或傳輸流量
使用rsync傳輸文件的一般語法如下:
Local to Remote: rsync [OPTION]... -e ssh [SRC]... [USER@]HOST:DEST Remote to Local: rsync [OPTION]... -e ssh [USER@]HOST:SRC... [DEST]
其中SRC是源目錄,DEST是目標目錄,USER是遠程SSH用戶名,HOST是遠程SSH主機或IP地址。
最新版本的rsync被配置為使用SSH作為默認遠程shell,因此可以省略-eSSH選項。
例如,要將一個文件/opt/file.zip從本地系統傳輸到IP為10.1.1.1的遠程系統的/var/www/目錄,您需要運行:
rsync -a /opt/file.zip user@10.1.1.1:/var/www/
-a選項代表存檔模式,它將遞歸地同步目錄、傳輸特殊和塊設備、保存符號鏈接、修改時間、組、所有權和權限。
如果您還沒有為遠程機器設置無密碼SSH登錄,系統將提示您輸入用戶密碼。
ssh免密碼登錄的教程可以參考這里:
ssh免密碼登錄
如果文件存在于遠程服務器上,那么它將被覆蓋。如果您想將文件保存在另一個名稱下,請指定新名稱:
rsync -a /opt/file.zip user@10.1.1.1:/var/www/file2.zip
要將數據從遠程傳輸到本地機器,使用遠程位置作為源,本地位置作為目標:
執行以下命令:
rsync -a user@10.1.1.1:/var/www/file.zip /opt/
在SSH上使用rsync傳輸目錄與傳輸文件相同。
重要的是要知道,rsync對后面帶有斜杠/的源目錄提供了不同的處理。當源目錄后面有一個斜杠時,rsync將只將源目錄的里面的內容復制到目標目錄。當省略后面的斜杠時,源目錄將會被復制到目標目錄中。
例如,要將本地/opt/website/images/目錄傳輸到遠程機器上的/var/ww /images/目錄,您可以輸入:
rsync -a /home/zcwyou/images/ user@10.1.1.1:/var/www/images/
如果要同步本地和遠程目錄,請使用--delete選項。使用此選項時要小心,因為如果目標目錄中不存在源目錄中的文件,它將刪除這些文件。
rsync -a --delete /home/zcwyou/images/ user@10.1.1.1:/var/www/images/
如果遠程主機上的SSH監聽的端口不是默認的22,那么使用-e選項指定端口。例如,如果SSH正在監聽端口1234,您將使用:
rsync -a -e "ssh -p 1234" /home/zcwyou/images/ user@10.1.1.1:/var/www/images/
當傳輸大量數據時,建議在屏幕會話中運行rsync命令,或者使用-P選項,告訴rsync在傳輸過程中顯示一個進度條,并保存部分傳輸的文件:
rsync -a -P /home/zcwyou/images/ user@10.1.1.1:/var/www/images/
4. 總結
總結如何在SSH加密隧道上的利用rsync工具來復制和同步文件和目錄
通過本文,我們已經學習了如何在SSH加密隧道上的利用rsync工具來復制和同步文件和目錄。
如果你有任何問題,請留下你的意見。
本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:
https://www.linuxrumen.com/rmxx/1424.html