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