查看完整版本: Rsync + SSH -- 讓 Server 自動異地備援也加密


adj 2007-11-14 22:07

Rsync + SSH -- 讓 Server 自動異地備援也加密

<FONT size=2><FONT color=#6600cc><B>一.前言</B></FONT><BR>自從911事件之後...異地備援這個名稱就常聽人提起...不過就是滿少看到大家在討論...剛好這次因為有需要...不得不研究這個東西...順便看看大家都是怎樣實作異地備援的...底下是個人的一點點心得...<BR>這次主要分成三個部份...單向 Trusted SSH Authorized...Rsync...Crontab....姑且不論傳輸速度為何...以及無時差的異地備援...相信這樣的Solutions應該可以滿足一般人的需求吧<BR><BR><FONT color=#6600cc><B>二.準備</B></FONT><BR>測試系統: Red Hat Linux 7.3 to Red Hat 7.3 ...<BR>Local 端需要啟動 Rsync...套件 openssh-3.4p1-1<BR><BR><FONT color=#ff0000>**</FONT> 假設: A (10.0.0.1) 要對 B (192.168.0.1) 做異地備援 <BR>PS:角色定位要明確...當然您要巔倒的來做也行...<BR><BR>參考網站 : </FONT><A href="http://www.fanqiang.com/a6/b7/20010908/1305001258_b.html" target=_blank><FONT size=2><FONT color=#0000ff>http://www.fanqiang.com/a6/b7/20010908/1305001258_b.html</FONT></FONT></A><BR><FONT color=#6600cc><B><BR><FONT size=2>三.開始實作</FONT></B></FONT><BR>

<BR><FONT color=#990033><BR><FONT size=2>1.完成單向Trusted SSH Authorized</FONT></FONT><FONT size=2>﹕ <BR>我要 A (10.0.0.1) 要對 B (192.168.0.1) 做異地備援 ...所以我針對 A 讓它使用SSH連到 B 時...不需要輸入密碼...User 是 Root...SSH Version2的版本..首先要先在A(10.0.0.1)產生public/private dsa key pair..<BR><BR></FONT>
<TABLE style="BACKGROUND: #ffffcc" class=t_table width="97%">
<TBODY>
<TR>
<TD><FONT size=2>[root@mondeo home]# <FONT color=#0033ff>cd /root/.ssh/</FONT><BR>[root@mondeo .ssh]# <FONT color=#0033ff>ssh-keygen -d</FONT><BR>Generating public/private dsa key pair.<BR>Enter file in which to save the key (/root/.ssh/id_dsa): <BR>Enter passphrase (empty for no passphrase): <FONT color=#990066>&lt;-- 此處不打passphrase..下次才不會詢問password</FONT><BR>Enter same passphrase again:<BR>Your identification has been saved in /root/.ssh/id_dsa.<BR>Your public key has been saved in /root/.ssh/id_dsa.pub.<BR>The key fingerprint is:<BR>11:22:33:44:55:66:77:88:99:00:11:22:33:44:55:66 </FONT><A href="mailto:root@mondeo.adj.idv.tw" target=_blank><FONT size=2>root@mondeo.adj.idv.tw</FONT></A><BR><FONT size=2>[root@mondeo .ssh]#</FONT></TD></TR></TBODY></TABLE><BR><FONT size=2>這時會在系統下看到兩個檔案...id_dsa與id_dsa.pub 現在要把id_dsa.pub丟到192.168.0.1 並且更名為 authorized_keys2<BR><BR></FONT>
<TABLE style="BACKGROUND: #ffffcc" class=t_table width="97%">
<TBODY>
<TR>
<TD><FONT size=2>[root@mondeo .ssh]# scp id_dsa.pub 192.168.0.1:/root/.ssh/authorized_keys2<BR></FONT><A href="mailto:root@192.168.0.1" target=_blank><FONT size=2>root@192.168.0.1</FONT></A><FONT size=2>'s password:<BR>id_dsa.pub 100% |***************************************************************************| 612 00:00<BR>[root@mondeo .ssh]#<BR><BR><BR></FONT></TD></TR></TBODY></TABLE><FONT size=2>現在您可以執行ssh 192.168.0.1 看看能否登入而不需要輸入密碼...<BR></FONT><FONT color=#990033><BR><FONT size=2>2.使用rsync 做Remote sync</FONT></FONT><FONT size=2><FONT color=#990033>﹕</FONT><BR>rsync特性簡介 :<BR>rsync是unix-like系統下的數據鏡像備份工具,從命名上就可以看出來了remote sync。它的特性如下: <BR>1、可以鏡像保存整個目錄樹和文件系統。 <BR>2、可以很容易做到保持原來文件的權限、時間等等。 <BR>3、無須特殊權限即可安裝。 <BR>4、優化的流程,文件傳輸效率高。 <BR>5、可以使用rcp、ssh等方式來傳輸文件,當然也可以通過直接的socket連接。 <BR>6、支持匿名傳輸。 <BR><BR>首先要先對B(192.168.0.1)把Rsync的Server on起來...<BR></FONT>
<TABLE style="BACKGROUND: #ffffcc" class=t_table width="97%">
<TBODY>
<TR>
<TD><FONT size=2>[root@linux /]#chkconfig --list rsync<BR>rsync off<BR>[root@linux /]#chkconfig rsync on</FONT></TD></TR></TBODY></TABLE><BR><FONT size=2>現在我先在A(10.0.0.1)上建一個 Backup directory...然後對B(192.168.0.1)的mysql跟html的目錄做異地備援...偶寫一個簡單的script如下:<BR><BR></FONT>
<TABLE style="BACKGROUND: #ffffcc" class=t_table width="97%">
<TBODY>
<TR>
<TD><FONT size=2>[root@mondeo /]# mkdir backup<BR>[root@mondeo backup]#vi sync<BR><BR></FONT><FONT size=2><FONT color=#9900cc>rsync -avlR --delete -e ssh 192.168.0.1:/var/lib/mysql /backup/<BR>rsync -avlR --delete -e ssh 192.168.0.1:/var/www/html /backup/ </FONT><BR>[root@mondeo backup]#<FONT color=#cc3300>chmod 700 sync</FONT></FONT></TD></TR></TBODY></TABLE><BR><FONT size=2>參數意義如下﹕<BR><FONT color=#9900cc>-a, --archive</FONT><BR>It is a quick way of saying you want recursion and want to preserve almost everything.<BR><FONT color=#9900cc>-v, --verbose</FONT><BR>This option increases the amount of information you are given during the transfer.<BR><FONT color=#9900cc>-l, --links</FONT><BR>When symlinks are encountered, recreate the symlink on the destination.<BR><FONT color=#9900cc>-R, --relative</FONT><BR>Use relative paths. 保留相對路徑...才不會讓子目錄跟 parent 擠在同一層...<BR><FONT color=#9900cc>--delete</FONT><BR>是指如果Server端刪除了一文件,那客戶端也相應把這一文件刪除,保持真正的一致。 <BR><FONT color=#9900cc>-e ssh</FONT><BR>建立起加密的連接。 <BR>參數的使用因人而異...您可以man rsync來使用更多的參數...<BR><BR>測試看看:<BR></FONT>
<TABLE style="BACKGROUND: #ffffcc" class=t_table width="97%">
<TBODY>
<TR>
<TD><FONT size=2>[root@mondeo backup]# </FONT><FONT size=2><FONT color=#cc3300>./sync<BR></FONT>receiving file list ... done<BR>.<BR>.<BR>.<BR>done<BR>wrote 16 bytes&nbsp;&nbsp;read 107 bytes&nbsp;&nbsp;82.00 bytes/sec<BR>total size is 0&nbsp;&nbsp;speedup is 0.00<BR>receiving file list ... done<BR>.<BR>.<BR>.<BR>done<BR>wrote 16 bytes&nbsp;&nbsp;read 921 bytes&nbsp;&nbsp;624.67 bytes/sec<BR>total size is 308331&nbsp;&nbsp;speedup is 329.06<BR>[root@mondeo backup]#</FONT></TD></TR></TBODY></TABLE><FONT size=2>看到沒詢問密碼....以及有把檔案copy過來就沒問題囉....當然你可以把遠端的資料做個變動...看是否真有同步啦....<BR><BR><FONT color=#990033>3.使用crontab 來做自動排程</FONT><FONT color=#990033>﹕</FONT> <BR><BR>現在設好之後...我希望每天的0點0分...夜深人靜的時後再來幫我做sync....當然您想要多久做 sync 看個人需求囉...<BR></FONT>
<TABLE style="BACKGROUND: #ffffcc" class=t_table width="97%">
<TBODY>
<TR>
<TD><FONT size=2>[root@mondeo backup]# <FONT color=#cc3300>crontab -e</FONT>0 0 * * * /backup/sync<BR></FONT></TD></TR></TBODY></TABLE><BR><FONT size=2>如此一來..算是大功告成了...原則上您已具備自動加密異地備援囉....趕緊找兩台機器來試試吧...<BR>以上只是個人測試結果...如有錯誤...煩請指教!!!</FONT>

cc1357 2021-2-4 19:19

[quote]原帖由 [i]adj[/i] 於 2007-11-14 22:07 發表 [url=http://dz.adj.idv.tw/redirect.php?goto=findpost&pid=49&ptid=48][img]http://dz.adj.idv.tw/images/common/back.gif[/img][/url]
一.前言自從911事件之後...異地備援這個名稱就常聽人提起...不過就是滿少看到大家在[font=Times New Roman, serif][size=12pt][url=https://www.motherboardexpress.com/%E5%86%B7%E6%B0%A3%E7%B6%AD%E4%BF%AE-2][/size][/font]冷氣維修推薦[font=Times New Roman, serif][size=12pt][/url][/size][/font]討論...剛好這次因為有需要...不得不研究這個東西...順便看看大家都是怎樣實作異地備援的...底下是個人的一點點心得...這次主要分 ... [/quote]
辛苦了, 謝謝分享

喝茶賴dd963 2021-3-17 03:42

+LINE:dd963#埔 心 外 約 #溪 湖 外 約 #永 靖 外 約 #田 尾 外 約

+LINE:dd963#板 橋 外 約 #三 重 外 約 #永 和 外 約 #中 和 外 約 #汐 止 外 約 #新 莊 外 約 #土 城 外 約 #新 店 外 約 #蘆 洲 外 約 #五 股 外 約 #泰 山 外 約 #淡 水 外 約 #八 里 外 約 #林 口 外 約 #龜 山 外 約 #台 中 外 約 #高 雄 外 約 #台 北 外 約 #本 土 外 約 #外 約 #中 正 外 約 #大 同 外 約 #松 山 外 約 #大 安 外 約 #萬 華 外 約 #信 義 外 約 #士 林 外 約 #北 投 外 約 #內 湖 外 約 #南 港 外 約 #文 山 外 約 #新 竹外 約 #台 南 外 約 #西 屯 外 約 #南 屯 外 約 #北 屯 外 約 #逢 甲 外 約 #大 里 外 約 #大 雅 外 約 #七 其 外 約 #烏 日 外 約 #太 平 外 約 #豐 原 外 約 #沙 鹿 外 約 #板 橋 外 約 #左 營 外 約 #三 民 外 約 #前 鎮 外 約 #前 金 外 約 #苓 雅 外 約 #新 興 外 約 #鼓 山 外 約 #鳳 山 外 約 #小 港 外 約 #楠 梓 外 約 #香 山 外 約 #竹 北 外 約 #仁 德 外 約 #永 康 外 約 #中 西 外 約 #員 林 外 約 #鹿 港 外 約 #草 屯 外 約 #埤 頭 外 約 #和 美 外 約 #埔 心 外 約 #溪 湖 外 約 #永 靖 外 約 #田 尾 外 約 #田 中 外 約 #大 村 外 約 #秀 水 外 約 #福 興 外 約 #芬 園 外 約 #花 壇 外 約 #南 投 外 約 #中 西 外 約 #仁 德 外 約 #永 康 外 約 #中 區 外 約 #東 區 外 約 #西 區 外 約 #南 區 外 約 #北 區外 約 #神 岡 外 約 #西 屯 外 約 #南 屯 外 約 #北 屯 外 約 #逢 甲 外 約 #前 鎮 外 約 #新 興 外 約 #鼓 山 外 約 台灣出差旅遊外約服務地點:新北.台北.林口.龜山.新竹.台中.高雄.台南.彰化.南投 看 照 網 址:[url]https://s56dsw.wixsite.com/mysite[/url] 【要兼職的女生可以找我 未滿18歲未成年禁止加入】
頁: [1]
查看完整版本: Rsync + SSH -- 讓 Server 自動異地備援也加密