mysql数据库备份脚本

#!/bin/bash
echo "开始备份 $(date '+%Y-%m-%d %H:%M:%S')"
#备份保留的最大日期,需要根据实际情况修改
RETENTION_DAY=31
#备份的文件名,需要根据实际情况修改
FILE_NAME=file1
#备份的目录,需要根据实际情况修改
BAK_HOME=/mysql-bak
fn=$(date -d "-${RETENTION_DAY} day " +%Y-%m-%d)
old_filename=$BAK_HOME/$FILE_NAME.$fn.sql
if [ -f $old_filename ];then
   echo "删除老旧的备份文件 ${old_filename}"
   rm -f $old_filename
fi
curr_fn=$(date +%Y-%m-%d)
curr_filename=$BAK_HOME/$FILE_NAME.$curr_fn.sql
echo "今日备份文件名 $curr_filename "
mysqldump --single-transaction -uroot databaseName > $curr_filename
echo "结束备份 $(date '+%Y-%m-%d %H:%M:%S')"

修改好 “需要根据实际情况修改” 的几个参数后,把脚本放到crontab中定时执行备份。备份过程中会删除超过最大保留期的备份文件。

你可能感兴趣的:(mysql数据库备份脚本)