㈠ 4-10.10 linux 中的文件同步傳輸 --- rsync --include 傳輸指定的數據
2、--include 一般結合 --exclude 一起用。--include 的作用是指定需要傳輸的內容。但是單純的用 --include 並不能如我所願的結果。因為單純的 --include 沒有起到只傳輸我想要的文件,而是把源目錄的所有數據傳輸到目標目錄。
--include 和 --exclude 搭檔,--exclude 是起到排除的功能, 也就是當 --include 指定了我們所需要傳輸的數據時,通過 --exclude 排除其他內容的傳輸。這樣就可以完成指定什麼數據需要傳輸,其他不在范圍內的數據都不傳輸。
下面是單純的用 --include 指定傳輸 SRC 目錄下所有結尾為 .txt 的文件效果。 單純的用 --include 沒有起到只傳輸我想要的文件,而是把源目錄的所有數據傳輸到目標目錄。
3、傳輸 office_directory 目錄及文件。
4、傳輸 SRC 目錄下的所有 txt 到 backups_include 目錄(含子目錄及內容)。
分析思路:
5、如果只想傳輸 .txt 結尾的文件到 backups_include 目錄,不想傳輸子目錄文件夾。可用發送方,也就是源目錄的路徑進行控制。
分析思路:
6、傳輸多個二級目錄及文件。
7、傳輸三級目錄及文件原理也是一樣。通過 --include 把目錄和目錄下 *.txt 文件類型標識清楚。以傳輸 SRC 目錄下的三級目錄及所有 .txt 文件為例:
8、傳輸 SRC 目錄下的所有 .txt 文件(不含目錄)到 backups_include 目錄。
9、優化 例 8 語句
10、指定傳輸某些文件。
11、指定傳輸某字母或單詞開頭的目錄或文件。
12、指定傳輸含有某字母或單詞的文件。
13、指定傳輸某字母或單詞結尾的文件。
14、指定多個傳輸條件可以用 { } 大擴號把條件括起來,條件與條件之間用 ,逗號分隔開。只用一個 --include參數。可進步一步優化語句,避免臃腫。
㈡ linux之間傳文件用什麼工具好呢
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的內容。
如果你有任何問題,請留下你的意見。
㈢ linux shell 編程如何實現兩個文件的同步。
ln
這是linux中一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個同不的鏈接,這
個命令最常用的參數是-s,具體用法是:ln -s 源文件 目標文件。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然後在其它的目錄下用ln命令鏈接(link)它就可以,不必重復的佔用磁碟空間。例
如:ln -s /bin/less /usr/local/bin/less
-s 是代號(symbolic)的意思。
這里有兩點要注意:
第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;
第二,ln的鏈接又軟鏈接和硬鏈接兩種,軟鏈接就是ln -s ** **,它只會在你選定的位置上生成一個文件的鏡像,不會佔用磁碟空間,硬鏈接ln ** **,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
第三,軟鏈接是可以跨分區的,但是硬鏈接只能在同一分區內。
如果你用ls察看一個目錄時,發現有的文件或文件夾的顏色和別的不一樣,我機子上是藍色的,那就是一個用ln命令生成的文件,用ls -l命令去察看,就可以看到顯示的link的路徑了。
如果用rsync命令,你必須手動執行rsync命令才能同步,不能做到及時更新
㈣ 從linux中同步文件夾的軟體
用來rsync命令同步就行了
rsync可以讓兩個目錄的源內容一致,它同步只會同步有更新過的文件,減少傳輸量。可以是本機上的兩個目錄,也可以是本機的目錄同步到伺服器上,還可以是把伺服器上的目錄同步到本機上。
基本命令是 rsync 命令的參數 源目錄 目的目錄
rsync可以基於ssh協議來做,這樣就省去了很多配置rsync server的麻煩,如果兩個機器已經實現ssh無密碼登陸,那麼rsync就會提示輸入密碼,還有一種是通過密鑰文件來實現免密碼,例如下面
1、rsync -vzrtopg --progress -e ssh --delete 用戶名@伺服器IP:/var/www/dirA/ /var/bak/
2、rsync -vzrtopg --progress -e "ssh -i /path/pwd.pem" --delete 用戶名@伺服器IP:/var/www/dirA/ /var/bak/
就是把伺服器上的dirA目錄同步到本地的/var/bak目錄下,其中方法1是用戶已經做了ssh免密碼登陸,方法2是通過密鑰(存放在/path 下的pwd.pem文件)來同步
㈤ 怎麼同步linux文件如何WinSCP如何設置
方法/步驟
下載安裝完成WinSCP軟體後,進入到需要同步文件的目錄,如下圖
進入到需要同步文件的目錄後,點擊界面上方的同步按鈕,如下圖
點擊後會彈出一個窗口,窗口名為同步
第一個設置項就是本地目錄也就是本地文件存放的位置,本地目錄的下方是遠程目錄,是伺服器文件存放的位置;在方向目錄中如果是伺服器同步文件到本地,就選擇本地,如果是本地文件同步到伺服器就選擇遠程,這里不要選擇錯了,不然後期非常麻煩
接著就是模式設置,模式設置直接選擇默認的「同步文件」選項即可;在同步選項設置里設置設置按照修改時間和選上預覽修改即可
如果選擇了預覽修改,然後會比較文件,當然這樣可能要花一些比較的時間,但是如果設置出錯了預覽能夠及時的發現,不至於產生破壞性的影響。
㈥ linux 下文件夾數據實時同步。
sync+crontab。
sync
:
同步目錄軟體。可據圖自定義任意目錄。具體看他官網。
crontab:定是執行任務。用來定時啟動sync執行同步。具體還是看他官網!
===========
另外,要做負載均衡,不如另外做數據伺服器。,前提是你真不不需要把數據分兩份存放!兩份數據可以免去備份問題!兩台伺服器當然可以做高可用均衡,但是還需要額外的均衡伺服器才能實現!
一樓嘛都不明白,就介紹軟體來了!哈哈,笑死人了!
㈦ 求助: linux下怎麼實現兩個文件夾的同步(shell腳本)
提供一個思路給你
源文件夾和目標文件夾,通過ls -R -1
生成一個文件列表。
然後逐個進行回對比
如果不答同,則從源文件夾進行復制
其實雙向同步是比較麻煩的。因為如果一旦兩個文件夾的同一個文件都被修改了,那麼就會出現沖突。
用腳本寫,很麻煩...
最好的方法,是搞一個git或者svn一類的版本管理。
㈧ 在linux下我有兩個文件夾w1,w2,怎樣把它們合並到一個文件夾
可以使用mv命令,將一個文件夾里的文件全部移動到另一個文件夾。
使用通配符*,可以匹配w1文件夾中的所有文件。
下面的命令將w1文件夾中的所有文件移動到了w2文件夾中:
mv ./w1/* ./w2