mysql資料庫多表備份及excel表格匯出指令碼編寫
阿新 • • 發佈:2018-12-25
#!/bin/sh
# Database info
DB_USER="root"
DB_PASS="min"
DB_HOST="localhost"
DB_NAME="product"
# 資料庫表
TABLE1="attribute_name"
TABLE2="attribute_value"
DB_TABLE=$TABLE1 $TABLE2
# Others vars
BIN_DIR="/usr/bin" #the mysql bin path
BCK_DIR="/mnt/mysqlBackup" #the backup file directory
DATE="`date +%Y-%m-%d`"
DB_PATH=$BCK_DIR/$DATE
# 列印儲存路徑
echo $DB_PATH
# 判斷路徑是否存在
if [ ! -d $DB_PATH ];then
echo $DB_PATH
mkdir $DB_PATH
chmod -R 777 $DB_PATH
else
echo $DB_PATH
rm -rf $DB_PATH
mkdir $DB_PATH
chmod -R 777 $DB_PATH
fi
# TODO
# 備份資料
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME $DB_TABLE > $DB_PATH /db_data.sql
# 匯出excel
mysql -u$DB_USER -p$DB_PASS $DB_NAME -e "select * from $TABLE1 into outfile '$DB_PATH/$TABLE1.xls'";
mysql -u$DB_USER -p$DB_PASS $DB_NAME -e "select * from $TABLE2 into outfile '$DB_PATH/$TABLE2.xls'";
#還原資料庫
#用mysql-front匯入前一天的 *.sql 檔案即可恢復資料