MySQL脚本备份

83 阅读1分钟

前言

在数据库实际使用过程中,为保证数据的安全,经常需要备份数据,此处提供使用shell脚本配合linux定时任务备份MySQL数据的方案。

shell备份脚本

mysql_backup.sh

#!/bin/bash
# -------------------------------------------------------------------------------
# FileName:    mysql_backup.sh 
# Describe:    Used for database backup
# Revision:    1.0
# Author:      wang
# 设置mysql的登录用户名和密码(根据实际情况填写)
mysql_user="root"
mysql_password="123456"
mysql_host="localhost"
mysql_port="3306"
backup_dir=/home/njdc/store/backups-sql
dbname="test"
dt=`date '+%Y%m%d_%H_%M'`
echo "Backup Begin Date:" $(date +"%Y-%m-%d %H:%M:%S")
# 备份数据库
/home/njdc/apps/mysql/bin/mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password --socket=/home/njdc/apps/mysql/mysql.sock   --single-transaction  $dbname> $backup_dir/mysql_backup_$dt.sql
# 删除修改时间大于7天的文件
find $backup_dir -mtime +7 -type f -name '*.sql' -exec rm -rf {} \;
echo "Backup Succeed Date:" $(date +"%Y-%m-%d %H:%M:%S")

定时任务

  • linux查看定时任务
crontab -l
  • 编辑定时任务
crontab -e

每天凌晨一点备份,如:

0 1 * * * sh /home/njdc/store/mysql_backup.sh > /home/njdc/store/backups-sql/mysql_backup.log 2>&1