亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
[原創(chuàng)] mysql的備份腳本
[打印本頁]
作者:
oknet
時(shí)間:
2014-03-07 16:01
標(biāo)題:
[原創(chuàng)] mysql的備份腳本
本帖最后由 oknet 于 2014-03-07 16:23 編輯
備份期間需要鎖定整個(gè)庫,因此請(qǐng)避開高負(fù)載時(shí)間。
腳本采用FLUSH TABLES WITH READ LOCK指令鎖庫
直接拷貝數(shù)據(jù)文件,不采用dump的方式
UNLOCK TABLES之前輸出SHOW MASTER STATUS信息,因此備份出的內(nèi)容可以直接用來搭建Slave DB
#!/bin/bash
DBA_USER=root
DBA_PASSWD=dba
DB_HOST=127.0.0.1
DB_PORT=3306
DBLIST="mysql test"
MYSQL="/path/to/bin/mysql -u${DBA_USER} -p${DBA_PASSWD} -h ${DB_HOST} -P ${DB_PORT} -t -A -B"
DATAPATH=/path/to/mysql/datadir
BAKPATH=/path/to/backup.db
today=`date +%Y%m%d`
LOGFILE=${BAKPATH}/backup.mysql.${today}.log
BCMD=""
[ ! -d ${DATAPATH} ] && mkdir -p ${DATAPATH}
[ ! -d ${BAKPATH} ] && mkdir -p ${BAKPATH}
echo "" >>$LOGFILE
echo "" >>$LOGFILE
echo "=================================================" >>$LOGFILE
echo "= =" >>$LOGFILE
echo "= MySQL BACKUP =" >>$LOGFILE
echo "= =" >>$LOGFILE
echo "=================================================" >>$LOGFILE
echo "[`date "+%Y/%m/%d %H:%M:%S"`] Starting backup task ("$today") ... " >>$LOGFILE
echo -n "[`date "+%Y/%m/%d %H:%M:%S"`] Checking backup dir ("$BAKPATH/${today}") ... " >>$LOGFILE
[ -d $BAKPATH/${today} ] && echo -e "Already existed! please rename or delete it.\nEXIT." >>$LOGFILE && exit 1;
echo "Empty" >>$LOGFILE
echo -n "[`date "+%Y/%m/%d %H:%M:%S"`] Enter backup dir ("$BAKPATH/${today}") ... " >>$LOGFILE
mkdir -p $BAKPATH/${today}
cd $BAKPATH/${today} || { echo -e "Failed! \nEXIT" >>$LOGFILE; exit 1; }
echo "OK" >>$LOGFILE
BCMD=$BCMD"FLUSH TABLES WITH READ LOCK; system echo [\`date \"+%Y/%m/%d %H:%M:%S\"\`] All tables flushed and locked; "
BCMD=$BCMD"FLUSH LOGS; system echo [\`date \"+%Y/%m/%d %H:%M:%S\"\`] Binlog flushed.; SHOW MASTER STATUS; "
for DBNAME in $DBLIST ;
do
BCMD=$BCMD"system echo -n [\`date \"+%Y/%m/%d %H:%M:%S\"\`] Backup database: "$DBNAME" ... ; system cp -a "$DATAPATH/$DBNAME" "'./'"; system echo finished.; "
done
echo "[`date "+%Y/%m/%d %H:%M:%S"`] Backup command is $BCMD" >>$LOGFILE
$MYSQL -e "$BCMD" >>$LOGFILE 2>&1
echo "[`date "+%Y/%m/%d %H:%M:%S"`] Finished!" >>$LOGFILE
mv $LOGFILE ./
echo "delete 5 days ago files" >> $LOGFILE
echo "the 5 days ago file is `find $BAKPATH -maxdepth 1 -type d -mtime +5` " >> $LOGFILE
find $BAKPATH -maxdepth 1 -type d -mtime +5 -exec rm -rf {} \;
復(fù)制代碼
作者:
pxf520
時(shí)間:
2014-03-07 18:32
FLUSH TABLES WITH READ LOCK對(duì)innodb不好使,你這樣的方式適合myisam引擎。
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2