主要概念是以下幾點:
- ftp 批次操作
- shell script
- crontable 的設定
[ 情境假設 ]
我在 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)
沒有留言:
張貼留言