linuxrsync安裝
A. 如何在linux上安裝rsync
檢查方法:
1、rpm -qa rsync
出現rsync 包名就是安裝了
2、 rsync + 回車
出現幫助信息說明已經安裝
B. rsync 安裝步驟、服務端、客戶端、同步文件
需要定時把客戶機上的文件增量同步到伺服器上,達到備份效果。
伺服器:linux系統
客戶機:windows系統
1.linux上安裝rsync服務端;
2.windows上安裝rsync客戶端;
3.客戶端上每5分鍾觸發一次同步。
# vi /usr/local/rsync/rsyncd.conf
# vi /usr/local/rsync/rsyncd.secrets
鍵入: # testUser:123456 後保存。
此文件許可權必須設置:600:
# chmod 600 /usr/local/rsync/rsyncd.secrets
# vi /usr/local/rsync/rsyncd.motd
鍵入歡迎語,如:
# welcome use rsync service
# /usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf
# ps aux | grep rsyncd
# vi /etc/rc.local
鍵入:
# /usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf
# firewall-cmd --permanent --zone=public --add-port=873/tcp
# firewall-cmd --reload
123456
# chmod.exe 600 /cygdrive/c/etc/rsync.client.password
windows下,文件右鍵屬性-安全-高級-修改所有者-鍵入administrator-檢查名稱-保存
C:\etc\waveform_analysis
# rsync.exe --port=873 -arvzP --timeout=30 --contimeout=30 --password-file=/cygdrive/c/etc/rsync.client.password testUser@伺服器IP::testMole /cygdrive/c/etc/waveform_analysis
# rsync.exe --port=873 -arvzP --timeout=30 --contimeout=30 --password-file=/cygdrive/c/etc/rsync.client.password /cygdrive/c/etc/waveform_analysis/ testUser@伺服器IP::testMole
rsync的缺陷在於無法實現主動觸發同步,可以安裝成服務,然後定時執行同步,比如每5分鍾觸發一次同步:
使用 nssm 把 bat 安裝成 windows 服務 - (jianshu.com)
C. linux下安裝SSH服務及使用詳解
secure shell protocol簡稱SSH,是由IETF網路工作小組(network working group) 制定,在進行數據傳輸之前, SSH先對聯級數據包通過加密技術進行加密處理,加密後在進行數據傳輸,確保了傳遞的數據安全.
SSH是 專門為遠程登錄會話和其他網路服務(例如:rsync,ansible)提供的安全性協議 ,利用SSH協議可以有效的防止遠程管理過程中的信息泄露問題,絕大多數企業普遍採用SSH協議服務來代替傳統的不安全的遠程連接伺服器軟體(例如:Telnet/23埠/非加密的)等.
然後開始輸入用戶名
右擊選中追蹤流,在右側再選中TCP流
即可顯示數據包的全過程,圈中的部分是用戶名,之所以每個單詞重復出現,是因為數據有請求,有確認,所以會重復,去重以後就是用戶名:shuai,密碼:123456
在顯示 yes/no 的時候,如果輸入的 yes 就接收到了服務端發送過來的公鑰信息,把這個信息放到了 /root/.ssh/known_hosts文件 里
SSH服務由服務端軟體 OpenSSH(Openssl) 和客戶端 常見的有SSH(linux),secureCRT,putty,Xshell 組成.SSH服務默認使用22埠提供服務, 他有兩個不兼容的SSH協議版本,分別是1.x和2.x
如果在進行連接的時候出現以下情況,如何解決
基於口令的安全驗證方式就是知道伺服器的SSH連接賬號和口令(也要知道對應伺服器的IP地址及開放的SSH埠,默認為22埠)就可以通過SSH客戶端登錄到遠程主機上面,此時聯機過程中所有傳輸的數據都是加密的!
- 演示XSHELL及SSH客戶端連接,口令驗證測試
基於密鑰的安全驗證方式是指,需要依靠密鑰,也就是必須事先建立一對密鑰對,然後把 公用密鑰(鎖頭:public key) 放在需要訪問的目標伺服器上,另外,還需要把 私有密鑰(鑰匙:private key) 放到SSH的客戶端或對應的客戶端伺服器上.
此時,如果想要連接到這個帶有公用密鑰的SSH伺服器上,客戶端SSH軟體或者客戶端伺服器就會向SSH伺服器發出請求,請用聯機的用戶密鑰進行安全驗證,SSH伺服器收到請求之後,會先在該SSH伺服器上連接的用戶的家目錄下面尋找事先放上去的對應用戶的公用密鑰,然後把它和連接SSH客戶端發送過來的公用密鑰進行比較,如果兩個密鑰一直,SSH伺服器就用公用密鑰加密"質詢(challenge)"並把它發送給SSH客戶端!
SSH客戶端收到"質詢"之後就可以用自己的私鑰解密,在把它發送給SSH伺服器,使用這種方式,需要知道聯機用戶的密鑰文件,與第一種基於口令驗證的方式相比,第二種方式不需要在網路上傳送口令密碼,所以安全性更高了,這是我們也注意保護我們的密鑰文件,特別是私鑰文件,一旦被黑獲取到,危險系數增大很多.
修改SSH服務的運行參數,是通過修改配置文件 /etc/ssh/sshd_config 來實現的.
一般來說SSH服務使用默認的配置已經能夠很好的工作了,如果對安全要求不高,僅僅提供SSH服務的情況,可以不需要修改任何參數配置.
SSH服務監聽參數說明
企業伺服器被入侵案例
拉取:PULL
D. 詳解rsync,一款卓越的增量同步工具(一)
Rsync (remote rsync) 是可以實現 增量備份 的遠程(和本地)文件復制工具,目的是實現本地主機和遠程主機上的文件同步(包括本地推到遠程,遠程拉到本地兩種同步方式),也可以實現本地不同路徑下(不同目錄、分區之間)文件的同步,但不能實現遠程路徑1到遠程路徑2之間的同步(scp可以實現)。配合計劃任務,rsync能實現 定時或周期同步 ;配合inotify或sersync,可以實現觸發式的 實時同步 。
本篇文章主要介紹rsync的使用方法和它常用的功能。
rsync官方網站: https://rsync.samba.org/
不考慮rsync的實現細節,就文件同步而言,涉及了源文件和目標文件的概念,還涉及了以哪邊文件為同步基準。例如,想讓目標主機上的文件和本地文件保持同步,則是以本地文件為同步基準,將本地文件作為源文件推送到目標主機上。反之,如果想讓本地主機上的文件和目標主機上的文件保持同步,則目標主機上的文件為同步基準,實現方式是將目標主機上的文件作為源文件拉取到本地。當然,要保持本地的兩個文件相互同步,rsync也一樣能實現,這就像Linux中cp命令一樣,以本地某文件作為源,另一文件作為目標文件,但請注意,雖然rsync和cp能達到相同的目的,但它們的實現方式是不一樣的。
既然是文件同步,在同步過程中必然會涉及到源和目標兩文件之間版本控制的問題,例如是否要刪除源主機上沒有但目標上多出來的文件,目標文件比源文件更新(newer than source)時是否仍要保持同步,遇到軟鏈接時是拷貝軟鏈接本身還是拷貝軟鏈接所指向的文件,目標文件已存在時是否要先對其做個備份等等。
rsync同步過程中由兩部分模式組成:決定哪些文件需要同步的檢查模式以及文件同步時的同步模式。
(1).檢查模式是指按照指定規則來檢查哪些文件需要被同步,例如哪些文件是明確被排除不傳輸的。默認情況下,rsync使用"quick check"演算法快速檢查源文件和目標文件的大小、mtime(修改時間)是否一致,如果不一致則需要傳輸。當然,也可以通過在rsync命令行中指定某些選項來改變quick check的檢查模式,比如"--size-only"選項表示"quick check"將僅檢查文件大小不同的文件作為待傳輸文件。rsync支持非常多的選項,其中檢查模式的自定義性是非常有彈性的。
(2).同步模式是指在文件確定要被同步後,在同步過程發生之前要做哪些額外工作。例如上文所說的是否要先刪除源主機上沒有但目標主機上有的文件,是否要先備份已存在的目標文件,是否要追蹤鏈接文件等額外操作。rsync也提供非常多的選項使得同步模式變得更具彈性。
相對來說,為rsync手動指定同步模式的選項更常見一些,只有在有特殊需求時才指定檢查模式,因為大多數檢查模式選項都可能會影響rsync的性能。
以下是rsync的語法:
由此語法可知,rsync有三種工作方式:
(1).本地文件系統上實現同步。命令行語法格式為上述"Local"段的格式。
(2).本地主機使用遠程shell和遠程主機通信。命令行語法格式為上述"Access via remote shell"段的格式。
(3).本地主機通過網路套接字連接遠程主機上的rsync daemon。命令行語法格式為上述"Access via rsync daemon"段的格式。
前兩者的本質是通過管道通信,即使是遠程shell。而方式(3)則是讓遠程主機上運行rsync服務,使其監聽在一個埠上,等待客戶端的連接。
但是,還有第四種工作方式:
(4).通過遠程shell也能臨時啟動一個rsync daemon,這不同於方式(3),它不要求遠程主機上事先啟動rsync服務,而是臨時派生出rsync daemon,它是單用途的一次性daemon,僅用於臨時讀取daemon的配置文件,當此次rsync同步完成,遠程shell啟動的rsync daemon進程也會自動消逝。此通信方式的命令行語法格式同"Access via rsync daemon",但要求options部分必須明確指定"--rsh"選項或其短選項"-e"。
如需源碼安裝,請關注即將發布的《詳解Rsync,一款卓越的增量同步工具(二)》
系統環境:
伺服器配置:阿里雲ECS 11G
操作系統:CentOS7.2
rsync 版本:3.1.2
rsync 伺服器:rsync-server (10.168.152.72)
rsync 客戶端:rsync-client (10.117.217.172)
檢查rsync 是否已經安裝
若已安裝,無需重新安裝;若未安裝,用以下命令安裝:
寫入以下配置到該文件:
輸入,格式是「用戶名:口令」,用戶不要求是系統用戶
root:pwd123456
輸入:
======welcome to synchronize appdata======
如果rsync啟動成功,可以看到873埠已經在監聽了。
檢查rsync 是否已經安裝
若已安裝,無需重新安裝;若未安裝,用以下命令安裝:
更多同步數據的場景演示,請關注即將發布的《詳解Rsync,一款卓越的增量同步工具(二)》
配置文件 rsyncd.conf 由全局配置和若干模塊配置組成。配置文件的語法為:
全局參數
在文件中 [mole] 之外的所有配置行都是全局參數。當然也可以在全局參數部分定義模塊參數,這時該參數的值就是所有模塊的默認值。
模塊參數
模塊參數主要用於定義 rsync 伺服器哪個目錄要被同步。模塊聲明的格式必須為 [mole] 形式,這個名字就是在 rsync 客戶端看到的名字,類似於 Samba 伺服器提供的共享名。而伺服器真正同步的數據是通過 path 來指定的。可以根據自己的需要,來指定多個模塊,模塊中可以定義以下參數:
a. 基本模塊參數
b. 模塊控制參數
c. 模塊文件篩選參數
d. 模塊用戶認證參數
e. 模塊訪問控制參數
客戶主機列表定義可以是以下形式:
f. 模塊日誌參數
設置了」log file」參數時,在日誌每行的開始會添加」%t [%p]「。
可以使用的日誌格式定義符如下所示: