#!/bin/sh
MYUSER=root
MYPASS=123456
MYBACK=/home/mysqlbackup
DB_Server_IP=127.0.0.1
dt_day=`date +%Y_%m_%d`
dt=`date +%Y_%m_%d_%H_%M`
####FTP_SERVER####
#FTP_server_IP=127.0.0.1
#ftp_dir=/home/EoneDateBack/center
#ftp_user=sybase
#ftp_pwd=sybase
cd $MYBACK
#删除10天前的文件
find /sangto/mysqlbackup -mtime +10 -name "EOne*" -exec rm -rf {} \;
mkdir EOne_back$dt_day
MYCMD="mysql -u$MYUSER -p$MYPASS"
MYDUMP="mysqldump -u$MYUSER -p$MYPASS "
for database in `$MYCMD -e "show databases;" | grep -Evi "Database|information_schema|performance_schema|mysql"`
do
$MYDUMP -B $database | gzip> $MYBACK/EOne_back$dt_day/${database}_$dt-all.sql.gz
mkdir $MYBACK/EOne_back$dt_day/$database$dt
$MYDUMP -d $database --default-character-set=utf8 > $MYBACK/EOne_back$dt_day/$database$dt/$database-JG.sql
tb_name=`$MYCMD -e "select table_name from information_schema.tables where table_schema='$database'" |awk '{if(NR>1){print $1}}'`
#统计每个数据库每个表的数据行数
for name in $tb_name ;
do
tbl_count=`$MYCMD -e "select count(*) from $database.$name" | tail -1 `
echo "$name=$tbl_count" >> $MYBACK/EOne_back$dt_day/$database$dt/$database.text
done
#只备份单表的数据
for name in $tb_name;
do
$MYDUMP -t $database $name |gzip> $MYBACK/EOne_back$dt_day/$database$dt/$name-DT.sql.gz
done
done
#压缩备份文件
echo "tar ERP data from was-server dir and ftp data to backup server"
file=EOne_back_center$dt
rm EOne*.tar.gz
cd $MYBACK
tar zcvf ${file}.tar.gz EOne_back$dt_day*
sleep 2
#上传FTP
#echo -e "\033[31;49mnow is ftp data to backup server,please wait \033[0m"
#echo "open $FTP_server_IP
#user $ftp_user $ftp_pwd
#binary
#hash
#cd $ftp_dir
#put EOne*.tar.gz
#bye" | ftp -n
#sleep 3
#echo -e "\033[31;49mftp finished,please check the data at the backup server is all right \033[0m"