Linux下 MySQL定时备分脚本
环境介绍:
OS:CentOS6.5
Mysql版本:5.5.40
主要步骤:
1.创建备份目录 /Data/bak/mysql
[root@Maria ~]# mkdir -p /Data/bak/mysql
2.创建备份脚本backmysql.sh
[root@Maria ~]# cd /Data/bak/script
[root@Maria script]# cat backupmysql.sh
#!/bin/bash
#backup db for hrdb
DB_NAME='hrdb'
USER='hrdb'
PWD='hrpasswd'
DATE=`date +%Y%m%d%H%M%S`
DB_BAK_NAME=hrdb${DATE}.sql
BackupDir=/mnt/bak/mysql
echo $date "Begin backup hrdb" >> /Data/bak/log/backmysql.log
/usr/local/mysql/bin/mysqldump -u $USER -p$PWD --default-character-set=utf8 $DB_NAME>$BACKUP_PATH$DB_BAK_NAME
echo $date "Data backup OK!" >> /Data/bak/log/backmysql.log
echo "delete more than 7 days"
find $BackupDir -mtime +6 -exec rm -rf{} \;
echo $date "Finish backup hrdb" >> /Data/bak/log/backmysql.log
3.配置crontab定期执行脚本
[root@Maria mysql]#echo "30 02 * * * root /Data/bak/script/backupmysql.sh" >> /var/spool/cron/root
4.恢复测试
[root@Maria mysql]#ls -lh
总用量 53G
-rw-r--r-- 1 root root 53GB 1月 04 15:37 hrdb20110104153723.sql
[root@Maria mysql]# mysql -uhrdb -phrpasswd --default-character-set=utf8 hrdb < /Data/bakmysql/hrdb20110104153723.sql