2007年12月27日 星期四

《 Linux 》資料備份手法

UNIX 課老師補充了一點,用 ftp 的方式進行兩台主機的資料備份
主要概念是以下幾點:
  1. ftp 批次操作
  2. shell script
  3. crontable 的設定
UNIX FTP 批次操作

[ 情境假設 ]

我在 192.168.81.128 Web Server 有一個 pccamp 資料夾,裡面都放置了許多網頁。現在我要定期備份到另外一台主機 192.168.81.132,利用 UNIX 課程教的方式逐步配置。

手動編輯/新增檔案 .netrc ,並在裡面進行以下設定:


machine ip/domain name login username passwd password


machine,login,passwd 為其關鍵字,不可以亂修改。
要記得修改 .netrc 得權限為 600,因為你面涉及了帳號密碼主機位址很機密。

接者再去新增一個登入 ftp 後的批次動作檔案,可以隨意名稱。


cd www
bin
put pccampWeb.tar.gz
quit



編寫 shell script 如下:


#!/bin/bash
cd www
tar zcvf ~/pccampWeb.tar.gz pccamp
cd ~
ftp 192.168.81.132 < ~/ftp.bat


加入排程在這邊先忽略,直接執行剛編輯好的 script 測試,成功!

##CONTINUE##

UNIX SSH Key

範例是用了 FTP 作資料備份,但是之前常常聽到 ftp 是多麼恐怖的通訊協定啊
資料完全沒有加密或是作處理,於是我比較偏好用安全一點的模式去備份資料,
我利用了 SSH RSA Key Pair 的機制和 shell script 完成上述的過程。

以下是編寫的 script:


#!/bin/bash
cd www
tar zcvf ~/pccampWebSSH.tar.gz pccamp
cd ~
scp -i ~/.ssh/id_rsa_suse pccampWebSSH.tar.gz bernie@192.168.81.132:~/www


主要的差異在於利用 SSH 的安全機制去傳遞資訊,至於 SSH 憑證方式的請參閱下一篇筆記。

[ 延伸閱讀 ]

UNIX ftp 網路教材

使用 SSH 配合憑證來遠端複製檔案 (scp)

沒有留言:

張貼留言