mysql myisam 备份_类似mysqlhotcopy备份mysql myisam脚本

#/bin/bash

#This script backup mysqld data.edit badboy,connect leezhenhua17@163.com

user=root

host=localhost

passwd=123456

database=mysql

bak_dir=/backup/${database}

DATE=`date '+%Y%m%d'`

logfile=/backup/log/${DATE}.log

C_DATE=`date "-d 7 day ago" '+%Y%m%d'`

MYSQL="mysql -u${user} -p$passwd -h $host $database"

echo "================================================" >>$logfile

echo "=       `date '+%Y-%m-%d %H:%M:%S'`"   >>$logfile

#database tables

i=1

tables=($(${MYSQL} -A -Bse "show tables"))

tab_num=`echo ${#tables[@]}`

for arg in ${tables[@]}

do

if [ $i -eq $tab_num ]

then

echo $arg|awk '{print $1,"read"}' >>/tmp/tables

else

echo $arg|awk '{print $1,"read,"}' >>/tmp/tables

fi

i=$(($i+1))

done

lock_tables=`cat /tmp/tables|awk '{printf("%s",$0)}'`

echo "`date '+%Y-%m-%d %H:%M:%S'` start backup database $database" >> $logfile

$MYSQL -A -Bse "lock table $lock_tables ;system cp -r "'/data/mysql'" "'/backup/'";" >>$logfile 2>&1

#echo $?

if [ $? -eq 0 ]

then

echo "`date '+%Y-%m-%d %H:%M:%S'`Backup $database successed" >> $logfile

cd /backup

if [ -d ${database}${DATE} ]

then

echo "`date '+%Y-%m-%d %H:%M:%S'` ${database}${DATE} is exist" >> $logfile

else

mv $database ${database}${DATE}

echo "`date '+%Y-%m-%d %H:%M:%S'` del useless file" >> $logfile

rm -rf /tmp/tables

cd /backup/${database}${DATE}

rm -rf im* cdr* oplog*

fi

else

echo "`date '+%Y-%m-%d %H:%M:%S'` Backup $database Failed" >> $logfile

fi

cd /backup

if [ -d $database${C_DATE} ]

then

echo "`date '+%Y-%m-%d %H:%M:%S'` $database database exist" >> $logfile

tar -zcvf $database${C_DATE}.tar $database >> $logfile 2>&1

echo "`date '+%Y-%m-%d %H:%I:%S'` Delete 7 days before the data $database " >> $logfile

rm -rf $database

else

echo "`date '+%Y-%m-%d %H:%I:%S'` $database${C_DATE} not exist" >> $logfile

fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值