2010年5月28日 星期五

MySQL資料庫的自動備份

MySQL資料庫的自動備份

### 備份某一個資料庫的內容,輸出成SQL文字檔案,並且壓縮。
### mysql備份指令mysqldump需要將locktablet權限功能打開才可使用。
### 先使用 vi 寫了一個檔案 sql_backup.sh
  1. #!/bin/sh
  2. # ==============================================================
  3. DBNAME="database name"
  4. DBUSER="database user"
  5. DBPASS="database password"
  6. BAKDATE=`date +%y%m%d%k%M`
  7. BAKPATH="/home/mtchang/public_html/private/backup/"
  8. BF="$BAKPATH"db_"$BAKDATE"_"$DBNAME".sql
  9. TARBF=db_"$BAKDATE"_"$DBNAME".sql
  10. mysqldump $DBNAME -u$DBUSER -p$DBPASS --opt > $BF
  11. cd $BAKPATH
  12. tar czf $TARBF.tar.gz $TARBF
  13. rm -f $TARBF
### 執行過程及產生的檔案 ###
  1. ./sql_backup.sh
  2. # 執行備份script
  3. mtchang@web:~/public_html/private/backup$ ls -l
  4. -rw-r--r-- 1 mtchang mtchang 551350 Apr 21 23:00 db_0704212300_mtchang.sql.tar.bzip
  5. -rwxr-xr-x 1 mtchang mtchang 382 Apr 21 22:51 sql_backup.sh
  6. ### 寫入排成cron,每天早上三點執行備份資料庫的工作 ###
  1. crontab -e
  2.  
  3. # use /bin/sh to run commands, no matter what /etc/passwd says
  4. SHELL=/bin/sh
  5. # run at am 03:00 every day
  6. 0 3 * * * /home/sql_backup.sh

沒有留言:

張貼留言