Shell 備份dump 資料庫 /usr/bin/mysqldump
/usr/bin/mysqldump -R -c -Q -q
備份是為了以防萬一,就寫了一個 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 變可執行檔!