我的公司是個很窮的公司
一切的資訊運作都是以最省錢的方式來進行
所以連備份最重要的網站平台資料也得用最省的方式來進行了
因為 web server 上面全是程式, 所以要背份的話還容易, 因為程式倒是很少會去動到
因此只要一有異動到程式時在整個 tar 下來, 就萬事 ok 了
但 database 的資料可沒這麼簡單了
不但每天要自動的讓系統去備份, 還得考慮到將資料存到別的地方去
免得當機器掛掉時, 連裏面的資料都拿不出來
另一方面也得要有可以立刻倒資料進去的 備用 oracle 主機才行
因為我的另一台 ap server 上工作比較輕鬆點,平日除了 ap server 的工作要處理外, 就沒什麼大事要幹
所以我便在其上灌了一套 oracle , 並把整個網站平台所需要用到的 table , sp, trigger ....通通架好, 然後再把 oracle 關掉, 等待備用
所以現在最重要的便是要將 oracle 資料 dump 出來後, 轉存到另一台機器
基於雞蛋不要全放在同一籠的到理
所以我便用 mail server 來當 oracle 資料的備份機
整個作業如下
1. db server 自動備份資料
db server 的 oracle 帳號 下, 建立一個 backup.sh 檔
內容如下 :
export ORACLE_HOME=/oracle/product/9.2.0
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export NLS_LANG=AMERICAN_AMERICA.UTF8
exp userid=userid/passwd@KILLER.LOCALDOMAIN file=/backup/daily/userid-data.dmp owner=userid log=/backup/daily/userid-data.log
==> 將所有的資料備份到 /backup/daily/userid-data.dmp 去
我並沒有讓檔名中有日期時間, 因為那將會使硬碟很快就爆了, 如此可以讓檔案一直覆蓋, 反正資料等下也會被備走
2. 設定 crontab
crontab -e
內容如下 :
10 12,23 * * * sh /home/oracle/backup.sh >> /home/oracle/log/backup.log 2>> /home/oracle/log/backup.err
每天的中午和晚上各備份一次,
3. 接下來到 mail server 上去, 首先要建立兩台 server 間的信任關係
在要執行備份的帳互去, 假設是 backup 這個帳號
執行 ssh-keygen -t dsa ==> 用來產生一組 Private/Public Key
內定會在 .ssh/ 目錄下產生兩個檔案: id_dsa 及 id_dsa.pub (不要設定 passphrase)
4. 接下來將 id_da.pub 傳送到 db server 上去
5. 將 id_da.pub 存到 oracle db server 的 /home/oracle/.ssh 上面去
並 改名 mv id_dsa.pub authorized_keys
此時, mail server 已經獲得 oracle db server 的信任了, 以經可以用 ssh 到上面去了
6. 回到 mail server 上面, 進到 backup 帳號去
寫一個 backup_data.sh
內容如下 :
scp oracle@192.168.1.133:/backup/daily/userid-data.dmp /backup/daily
==> 到我的 oracle server ( 假設 ip 是 192.168.1.133 ) , 利用 scp (透過 ssh 抓資料用的 ) 到 /backup/daily 下將之前 dump 下來的oracle 資料 userid-data.dmp 抓過來, 存放到 mail server 上的 /backup/daily 下方去
然後進 crontab 去設定每天自動抓去
crontab -e
40 12,23 * * * sh /home/young/backup_data.sh
因為 前面 oracle data 的dump 是從 10 分開始的, 給機器 30 分的 dump 時間, 所以從 40 分開始 跑
7. 不過, 我自己手動跑一下來試看看
a. 到 oracle server 以 oracle 帳號進入後
執行 ./backup.sh
跑了將近十分鐘後, 資料才dump 下來
b. 到 mail server 上以 backup 登入
執行 ./backup_data.sh
一樣的已將資料傳了過來
畫面如下 :
userid-data.dmp 100% 2,145MB 11.2MB/s 2:13
大功告成.............
2010/1/7
2009/10/30
利用 jacascript 來繪圖
最近因為工作上的需要,急需要一套可以利用 javascript 來畫曲線圖的工具,於是再度透過 google 大神的介紹,先是找到了 flot ,這是
基於 jQury 來繪劃出的,剛好這一陣子就在學 jQuery, 所以便選了它。但是試用一下後,發現它有一個致命傷,就是碰到 ie6 時,那個繪圖
網頁便會跳出一些警告,怕使用者會使用不便,於是我再去找到另外一套 Js Charts!
經過一再的嘗試,我決定就使用它來運作。
以下是我作出來的結果:

底下便是我的程式:


不過,這套 JsCharts 還是有幾點的缺點
1. 當 X 軸是日期時,就完全要自定坐標了, 但是自定坐標值時,若該座標沒有點時,就不會出現文字。這有點麻煩。
2. 一條數線上必須要有兩點以上才可以,沒有點或只有一點時,它是完全停擺,還送出個警誥訊息來,不太方便。
3. Title 不接受中文,不過當滑鼠移到點上面時,出現的說明可以有中文!
4. 當滑鼠移到點上面所出現的說明, 在 ie6 時,越告右邊的點,越會亂折行!
基於以上幾點, 我想我應該還會再找一個更適用的工具了 !!!
JsCharts 的網站 : http://www.jscharts.com/
基於 jQury 來繪劃出的,剛好這一陣子就在學 jQuery, 所以便選了它。但是試用一下後,發現它有一個致命傷,就是碰到 ie6 時,那個繪圖
網頁便會跳出一些警告,怕使用者會使用不便,於是我再去找到另外一套 Js Charts!
經過一再的嘗試,我決定就使用它來運作。
以下是我作出來的結果:

底下便是我的程式:


不過,這套 JsCharts 還是有幾點的缺點
1. 當 X 軸是日期時,就完全要自定坐標了, 但是自定坐標值時,若該座標沒有點時,就不會出現文字。這有點麻煩。
2. 一條數線上必須要有兩點以上才可以,沒有點或只有一點時,它是完全停擺,還送出個警誥訊息來,不太方便。
3. Title 不接受中文,不過當滑鼠移到點上面時,出現的說明可以有中文!
4. 當滑鼠移到點上面所出現的說明, 在 ie6 時,越告右邊的點,越會亂折行!
基於以上幾點, 我想我應該還會再找一個更適用的工具了 !!!
JsCharts 的網站 : http://www.jscharts.com/
2009/10/5
如何防止當按下 enter 鍵後, 表單就送出 submit 了
2009/9/30
解決 ie6 無法如預期顯示透明的 png 圖
ie6 真的是很討厭, 對於 png 圖的支援有限,當網頁中此用了透明的 png 圖時,不但不會透明,還會以灰色的底來呈現,讓網頁變得超級難看 !
於是請出 google 大神去找一下,果然有解法,
以下為解決步驟 :
1. 到 DD_belatedPNG 去下載 js 檔, 網上有兩個, 下載任一個都可以!
2. 上傳到自己的網站上去
3. 在網頁中加入,
問題便解決了....
於是請出 google 大神去找一下,果然有解法,
以下為解決步驟 :
1. 到 DD_belatedPNG 去下載 js 檔, 網上有兩個, 下載任一個都可以!
2. 上傳到自己的網站上去
3. 在網頁中加入,
問題便解決了....
2009/9/29
訂閱:
文章 (Atom)

