mysql 备份

  • 准备工作

  • 备份脚本

准备工作

  • 阅读本文章之前请先查看 mutt 邮件发送 并搭建好邮件发送环境

  • 本文假定你已经搭建好了 mysql 环境,并且能使用 msyqldump 命令

备份脚本

mkdir -p /data/backup/mysql
chown xxx:xxx /data/backup
mkdir /opt/shells

vim /data/shells/mysqlBackup.sh

#!/bin/bash

BACKUP_PATH=/data/backup/mysql
CURRENT_TIME=$(date +%Y%m%d_%H%M%S)

[ ! -d "$BACKUP_PATH" ] && mkdir -p "$BACKUP_PATH"

数据库地址

HOST=localhost

数据库用户名

DB_USER=root

数据库密码

DB_PW=password

 要备份的数据库名

DATABASE=blog
FILE_GZ=${BACKUP_PATH}/$CURRENT_TIME.$DATABASE.sql.gz
/usr/local/bin/mysqldump -u${DB_USER} -p${DB_PW} --host=$HOST -q -R --databases $DATABASE  | gzip > $FILE_GZ # 此处必须要用绝对路径

 所有数据库

mysqldump --all-databases -xxxxx

echo "数据库备份--$FILE_GZ" | mutt -s "$DATABASE备份" ucer183@163.com -a $FILE_GZ

 删除 7 天以前的备份 「注意写法」

cd $BACKUP_PATH
find $BACKUP_PATH -mtime +7 -name "*sql.gz"  -exec rm -f {} ;

chmod u+x mysqlBackup.sh

 执行下脚本看看有没有错误;

./mysqlBackup.sh

凌晨三点三十分执行一次

crontab -e
30 03   * /data/shells/mysqlBackup.sh

Last modification:July 13th, 2018 at 05:32 pm
If you think my article is useful to you, please feel free to appreciate