2007年1月31日 星期三

利用 mpack 自動備份檔案到 Gmail

GMail 的容量那麼大,除來用來儲存信件之外,當然也可以用來當作備份重要檔案的第二選擇。

之前就有使用 GMail 備份檔案的習慣,不過原先是利用 metasend 這支程式來寄送包含夾檔的信件,但是最近發現夾檔的 size 太大的話,他會自動把檔案切割分兩份寄送,可是這樣會造成 GMail 這邊只收到第一部份的夾檔,第二部分的夾檔會出現無法完全解碼的情況。

Gmail-metasend error

所以我找到另外一支寄送夾檔的程式 - mpack,所需要用到的參數比 metasend 簡單很多。mpack 的安裝相當簡單,在 Gentoo 下的安裝只要直接執行
$ emerge mpack

不到一分鐘,就會自動將 mpack 安裝完成。mpack 的參數指令大概如下
mpack [ -s subject ] [ -m maxsize ] [ -c content-type ] file address ...

[] 之內的選項都可以省略,其他部分簡單說明如下

  • subject 就是信件的標題

  • maxsize 就是夾檔的最大 size

  • content-type 則是指定夾檔的 mime-type

  • file 為夾檔所在的路徑

  • address 就是收件人的 email address。


下面就是我用來備份 blog 程式碼和資料庫的 shell script,提供大家當作參考。
#!/bin/sh

DATE=`date +%Y%m%d%H%M`
BACKUP_PATH='/home/backup'
STOORZ_EMAIL='stoorz6@gmail.com'
STOORZ_DB_DST="${STOORZ_BLOG_HOME}/stoorz_scheme.db"
STOORZ_BLOG_DST="${BACKUP_PATH}/stoorz_blog_${DATE}.tgz"

/usr/bin/mysqldump -u root stoorz > ${STOORZ_DB_DST}

/bin/tar czvf ${STOORZ_BLOG_DST} ${STOORZ_BLOG_HOME}

/usr/bin/mpack -s "Backup stoorz blog `date +%Y-%m-%d_%H:%M`" -c "application/octet-stream; name=\"stoorz_blog_${DATE}.tgz\"" ${STOORZ_BLOG_DST} $STOORZ_EMAIL

rm -rf ${STOORZ_BLOG_DST}

沒有留言: