mysql備份表(按需配置)
阿新 • • 發佈:2019-02-18
MYSQL="/usr/bin/mysql"
USER="root"
PASSWD="abc123"
DATDABASE="test"
LTABLE="laomeng"
BAKTABL="laomengbak"
#判斷備份表是否存在如果不存在,建立新表
if [ ! -e "/var/lib/mysql/test/laomengbak.frm" ]; then
$MYSQL -u$USER -p$PASSWD --default-character-set=utf8 <<EOF
use $DATDABASE;
CREATE TABLE $BAKTABL(id int, name varchar(25 ),score int,sex int,createdate datetime);
SELECT * FROM laomengbak;
EOF
#if [ $? = "0" ]; then
# echo "create laomengbak talbe success!"
#else
# echo "No table create"
# fi
#else
#echo "The laomegbak table arealy exists & continue"
fi
#將查詢結果插入備份表中
#刪除三天之前的資料
$MYSQL -u$USER -p$PASSWD --default-character-set=utf8 <<EOF
use $DATDABASE;
insert into laomengbak(id,name,score,sex,createdate ) select id,name,score,sex,now() as date from laomeng;
delete from laomengbak where datediff(now(),createdate)>3;
EOF
#if [ $? = "0" ]; then
# echo "execute success"
#else
#echo "execute failed"
#fi
#delete from laomengbak where datediff(now(),createdate)>3; #刪除三天之前的資料
#delete from laomengbak where date_format(createdate,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m') ; #刪除除上個月的資料