mysql 自动备份脚本

264 阅读1分钟

1、下面是备份脚本的内容:

#!/bin/sh  
# File: /root/autobackupmysql.sh   
# Database info  
DB_NAME="需要备份的数据库名;分割"  
DB_USER="登录账号"  
DB_PASS="登录密码"  
#mysqldump 所在目录  
BIN_DIR="/usr/bin"  
# 备份文件存放目录
BCK_DIR="/root/mysql_data_bak"  
#时间格式
DATE=`date +%Y%m%d_%H%M%S`  
# 如果备份文件夹不存在,创建文件夹  
mkdir -p $BCK_DIR  
#这里是将DB_NAME中的;替换为空格
varName=${DB_NAME//;/ }
for element in $varName 
do
    $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS $element > $BCK_DIR/$element.dump_$DATE.sql  
done

# 删除7天之前的备份数据
find $BCK_DIR/ -mtime +7 -name "*dump_*" -exec rm -rf {} \;

2、加入自动执行

执行命令crontab -e

末尾加入一行 0 0 * ? * /root/autobackupmysql.sh >/dev/null 2>&1