歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux rsync+ssh鏡像備份

linux rsync+ssh鏡像備份

日期:2017/3/1 13:52:27   编辑:關於Linux
公司的某台linux服務器實在是讓人不放心,就害怕在哪個雷雨交加的晚上,脆弱的它宕機了…沒辦法,資源有限,只好把自己平時辦公的電腦貢獻出來,作為鏡像備份服務使用。辦公電腦裝的是window XP和centos5 雙系統,1TB硬盤。在linux下分了400GB硬盤空間作為備份用。(唉,真苦啊,申請新電腦的消息也石沉大海。) 言歸正傳。 實際環境:兩台centos5服務器進行數據同步備份。 備份方式采用:rsync+ssh (因為這是最簡單的一種備份方式了,而且rsync備份的速度非常塊,不但可以備份文件,連同文件的屬性,所有者,所屬組織等信息都能詳細備份,而且每次備份只檢測更新部分。所以,rsync對我來說是最理想的備份方式。) 軟件安裝:rsync ,ssh 關於ssh,一般默認都是安裝好的,可以直接用了。至於rsync都是自己現裝的。linux的依賴關系實在煩人,所以決定采用源碼包編譯安裝,下載地址:http://www.rsync.samba.org 下載解壓完成後,進入解壓完後的目錄,直接按照configure,make,make install三部曲來就ok了。(別忘裝GCC)。 下面就是實踐過程: 假設:主服務器IP地址是:192.169.10.100 備份服務器IP地址是:192.168.10.110 現在主服務器、備份服務器上安裝rsync軟件 。 安裝完後: 一:備份服務器上穿件ssh密鑰(用來免密碼登錄目標服務器),這裡我用slave這個帳號來進行鏡像同步(用哪個帳號來同步數據,就用哪個帳號來制作密鑰)。 #ssh-keygen -t rsa<==這個步驟在產生 Key pair
Generating public/private rsa key pair.
Enter file in which to save the key (/home/test2/.ssh/id_rsa): <==這裡按下Enter
Enter passphrase (empty for no passphrase): <==這裡按 Enter
Enter same passphrase again: <==再按一次 Enter
Your identification has been saved in /home/test2/.ssh/id_rsa. <==這是私鑰
Your public key has been saved in /home/test2/.ssh/id_rsa.pub. <==這是公鑰
The key fingerprint is:        *********************
# 注意∶ -t 指的是『使用何種密碼演算方式?』由於我們使用 RSA , # 所以直接輸入 -t rsa 即可建立兩支 Keys ! # 此外,建立的兩把 Keys 都放置在家目錄下的 .ssh 這個目錄中! # 察看一下這兩把 Keys 吧 $ ll ~/.ssh -rw------- 1 test2 test2 887 Nov 12 22:36 id_rsa -rw-r--r-- 1 test2 test2 233 Nov 12 22:36 id_rsa.pub -rw-r--r-- 1 test2 test2 222 Oct 31 11:20 known_hosts 上面出現的know_hosts,就是用ssh第一次登錄目標服務器時候,是需要你輸入yes的,輸入完之後就有了這個東東了。第二次就不需要輸入yes了,直接輸入密碼就可以了。key制作好了,密碼也不輸入了,就直接登錄遠程服務器了。 上面的**************.pub就是公鑰。把這個文件的復制到主服務器的master用戶的家目錄下.ssh文件夾內。重命名為authorized_keys 如果有多個客戶端要連進來,那就用cat id_rsa.pub >> authorized_keys 把公鑰的信息追加到authorized_keys文件就可以了。 接下來就可以嘗試一下免密碼登錄了。 $ssh [email protected] 回車 是不是直接進去了呢? —>(我在這裡郁悶了一個晚上,當時家裡沒有網線,看了些參考資料始終沒有搞定,原因在於我用CRT軟件連的虛擬機做實驗,這裡要在真是的shell環境先方可以,不然,死活要你輸入密碼,你得把密鑰導入到CRT當中才可以的。估計putty也是這樣。) 上訴都成功後,就可以用slave賬戶同步master賬戶的資料了(只要master有權限的都可以同步)。 輸入命令: rsync -av -e ssh [email protected]:/home /home 將主服務器/home 下的內容同步到 本機的/home目錄下面。 這個地方大家可以做個實驗,就是關於路徑後面的/問題,比如:/home/ /home/ 這樣跟上面的效果不同。 rsync 語法; [root@linux ~]# rsync [-avrlptgoD] [-e ssh] [user@host:/dir] [/local/path] 參數∶ -v ∶觀察模式,可以列出更多的資訊; -q ∶與 -v 相反,安靜模式,輸出的資訊比較少; -r ∶遞回復制!可以針對『目錄』來處理!很重要! -u ∶僅更新 (update),不會覆蓋目標的新檔案; -l ∶復制連結檔的屬性,而非連結的目標原始檔案內容; -p ∶復制時,連同屬性 (permission) 也保存不變! -g ∶保存原始檔案的擁有群組; -o ∶保存原始檔案的擁有人; -D ∶保存原始檔案的裝置屬性 (device) -t ∶保存原始檔案的時間參數; -I ∶忽略更新時間 (mtime) 的屬性,檔案比對上會比較快速; -z ∶加上壓縮的參數! -e ∶使用的通道協定,例如使用 ssh 通道,則 -e ssh -a ∶相當於 -rlptgoD ,所以這個 -a 是最常用的參數了! 更多說明請參考 man rsync 的解說! 這樣我的目的就達到了,可以同步數據了,寫個小腳本,放進crontab裡面,每天下班的時候切換到linux系統。早上來的時候看看同步成功了沒有。然後切換到window xp。就這樣吧。 本次實驗完全參考的《鳥哥的linux私房菜》 其實,這種備份不到好,尤其是在系統繁忙的時候。而且備份服務器什麼都不做,費電不說,浪費資源。主服宕機了,備份服務器無法起作用。只能起到減少損失的作用
Copyright © Linux教程網 All Rights Reserved