对extmail数据库进行每天01:00完全热备份,并可以完全恢复!

一、先建立备份脚本,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vi  mysql_extmail_bak.sh
#!/bin/bash
# Program
#    use mysqldump to Fully backup mysql data per week!
BakDir= /mysqlback #要备份到的目录
LogFile= /var/log/bak .log #备份记录日志
Date=` date  +%Y%m%d`
Begin=` date  + "%Y年%m月%d日 %H:%M:%S" `
cd  $BakDir
DB=extmail #要备份的数据库名称
DumpFile=$DB$Date.sql
GZDumpFile=$Date.sql. tar .gz
/usr/bin/mysqldump  -uroot -p123123 --quick --databases $DB --flush-logs --single-transaction > $DumpFile
/bin/tar  czvf $GZDumpFile $DumpFile
/bin/rm  $DumpFile
Last=` date  + "%Y年%m月%d日 %H:%M:%S" `
echo  开始:$Begin 结束:$Last $GZDumpFile succ >> $LogFile

二、恢复备份sql文件,如下:

1
2
3
4
cd  /mysqlback
tar  zxvf extmail20170515. tar .gz
mv  extmail20170515.sql extmail.sql
mysql -uroot -p < extmail.sql