News

把發票的資料庫每天備份到 Gmail

Contributed by TyroneYeh on Jun 03, 2010 - 08:17 AM

因為必須以防萬一,所以每日排程把發票對獎的資料 dump 到文字檔壓縮後在 E-mail 到我的 Gmail 信箱!

這個做法是學綠色工廠的,他也有寫個發票對獎的網頁,發票對獎綠色工廠先有寫的,不過我是寫好後就以發票對獎的關鍵字去看看可以找到那些網站才知道這個網站的,雖然一樣是預輸入發票號碼,不過他的界面功能比較簡單,我可能寫的有點複雜,也是單純的練習 PHP 與 AJAX (javascript)。

備份是為了以防萬一,就寫了一個 Shell 來做備份,Shell 的運作如下:

  1. dump 資料庫的文字檔
  2. 壓縮文字檔
  3. E-mail 備份壓縮檔到 Gmail 

shell 內容如下 (bak-uninvc.sh):

#!/bin/bash

DATE=`date +%Y%m%d`
PATH=/home/tyroneyeh/backup/db

/usr/bin/mysqldump -u root dbname zk_uninvc_rec > ${PATH}/${DATE}-zk_uninvc_rec.sql
/usr/bin/mysqldump -u root  dbname zk_uninvc_db > ${PATH}/${DATE}-zk_uninvc_db.sql

/bin/tar -cPf ${PATH}/uninvcbakdb-${DATE}.tar ${PATH}/${DATE}-*.sql
/bin/bzip2 -9 ${PATH}/uninvcbakdb-${DATE}.tar
/bin/rm ${PATH}/${DATE}-*.sql

/usr/bin/uuencode ${PATH}/uninvcbakdb-${DATE}.tar.bz2 uninvcbakdb-${DATE}.tar.bz2 | /bin/mail -s "Uninvoice ${DATE} Backup" xxxxxx@gmail.com

在 Gentoo Linux 的 mail 指令需安裝 mail-client/mailx,使用 emerge mailx 來安裝即可。 在 /etc/cron.daily  建立一個 Symlink 或 Shell 直接放到裡面,這樣每天都會備份資料到 Gmail 囉。

記得要用 chmod +x bak-uninvc.sh 將 Shell 變可執行檔!

 

發票登錄摘要

使用者數 255 位
發票張數 21473張
花費金額 2279168 元
中獎金額 62074600元
金額比率 2723.56 %