A. 如何讓內外網同步文件
架構FTP伺服器吧,如果同步文件量大,比較頻繁的話,可以用同步軟體來實現同步就可以了。比如BestSync2012,Goodsync等同步軟體。
1. 前言
linux之間傳文件命令用什麼命令?本文介紹一種最常用,也是功能強大的文件同步和傳輸工具Rsync,本文提供詳細傻瓜式教程。
在本教程中,我們將通過實際使用案例和最常見的rsync選項的詳細說明向您展示如何使用rsync。
本教程適用於Ubuntu系統、Linux Mint系統、Deepin深度Linux系統、Fedora系統、Debian系統、Elementary OS系統、OpenSUSE系統、CentOS系統、RHEL系統,Arch Linux等等GNU Linux發行版。
2. `rsync`介紹
Rsync是一個快速且通用的命令行實用程序,它可以使Windows與Linux之間,Linux與Linux之間傳文件或者Linux與MAC OS之間傳文件。或從Linux本地文件系統到遠程Rsync守護進程之間同步文件和文件夾。它只傳輸源和目標之間的差異,從而提供快速增量文件傳輸。
Rsync可以用於鏡像數據、增量備份、在Linux系統之間傳文件,也可以用於Linux與Windows之間傳輸文件,還可以替代日常使用的scp、sftp和cp命令,他們一般也用於Linux之間傳文件或者Linux與MAC OS之間傳文件。
3. 如何安裝`Rsync`
rsync實用程序預裝在大多數Linux發行版和macOS上。你可以輸入以下命令,檢查你的系統是否已安裝:
查看Rsync版本的輸出結果:
如果您的系統上沒有安裝rsync,您可以使用發行版的包管理器輕松地安裝它。
在Ubuntu 或者Debian體系的Linux系統上安裝rsync
在CentOS 或者Fedora系統上安裝rsync
4. Rsync命令使用語法
在討論如何使用rsync命令之前,讓我們先回顧一下基本語法。
rsync實用程序表達式採用以下形式:
rsync提供了許多選項來控制其行為和功能。最廣泛使用的選項是:
-a, --archive, 歸檔模式, 相當於 -rlptgoD。這個選項告訴rsync遞歸地同步目錄、傳輸特殊設備和塊設備、保存符號鏈接、修改時間、組、所有權和許可權。
-z, --compress. 這個選項將強制rsync在傳送文件到目標計算機時壓縮數據。僅當到遠程計算機的連接很慢時才使用此選項。
-P, 相當於--partial --progress。使用此選項時,rsync將在傳輸期間顯示一個進度條,並保留部分傳輸的文件。當通過緩慢或不穩定的網路連接傳輸大文件時,它非常有用。
--delete. 使用此選項時,rsync將從目標位置刪除無關文件。它對鏡像很有用。
-q, --quiet。如果希望禁用非錯誤消息,請使用此選項。
-e. 此選項允許您選擇不同的遠程shell。默認情況下,rsync被配置為使用ssh。
5. 使用Rsync最基本的功能使Linux之間傳輸文件
要將一個文件從一個本地位置復制到另一個本地位置,可以運行以下命令:
運行該命令的用戶必須具有目標位置上的讀許可權和目標上的寫許可權。
從目標位置省略文件名將復制具有當前名稱的文件。如果您想將文件保存在另一個名稱下,請在目標部件上指定新名稱:
比如復制filename.zip到目標目錄並重新把文件名修改為newfilename.zip
在下面的例子中,我們正在創建一個本地備份我們的網站文件:
如果目標目錄不存在,rsync將創建它。
值得一提的是,rsync對後面帶有斜杠/的源目錄提供了不同的處理。如果在源目錄上添加一個尾隨斜杠,它將只將目錄的內容復制到目標目錄。當後面的斜杠被省略時,rsync將把源目錄復制到目標目錄中。
6. 如何使用Rsync與遠程伺服器同步文件(包括上傳下載)
當使用rsync進行遠程傳輸時,必須同時安裝在源機器和目標機器上。rsync的新版本被配置為使用SSH作為默認遠程shell。
在下面的例子中,我們將一個目錄從本地轉移到遠程機器:
如果你需要配置2台Linux之間免密碼登錄,請查看以下教程:
如果你想把數據從遠程傳輸到本地機器,你需要使用遠程位置作為一個源:
如果遠程主機上的SSH監聽的埠不是默認的22埠,那麼可以使用-e選項指定埠:
比如遠程伺服器的SSH埠被修改為1234
當傳輸大量數據時,建議在屏幕會話中運行rsync命令或使用-P選項:
7. 使用Rsync傳送或同步文件時,排除某些文件或者目錄
當使用Rsync排除文件或目錄時,需要使用它們到源位置的相對路徑。
有兩個選項可以排除文件和目錄。第一個選項是使用--exclude參數,並在命令行中指定要排除的文件和目錄。
在下面的例子中,我們排除了位於src_directory中的123和abc目錄:
第二個選項是使用--exclude-from參數,並指定要在文件中排除的文件和目錄。
vi exclude-file.txt
加入需要排除的文件,比如文件file1.c,目錄zcwyou:
8. 總結
在本教程中,您學習了如何使用Rsync在多台Linux之間傳輸、復制或同步文件和目錄。在Rsync用戶手冊頁面上有更多關於Rsync的內容。
如果你有任何問題,請留下你的意見。