首页 > 代码库 > centos下mysql数据库自动备份并删除N天前备份文件

centos下mysql数据库自动备份并删除N天前备份文件

1.创建bak_xx_mysql.sh文件

#!/bin/bash
# Name:bak_xx_mysql.sh
# XX数据库文件备份
#
db_user="root"
db_passwd="root"
db_name="db_name"
#mysqldump 目录
mysql_bin_dir="/alidata/server/mysql-5.6.21/bin/mysqldump"
# 备份文件目录
backup_dir="/alidata/www/tequ_mysql_bak"
# 按照时间格式命名
time="$(date +"%Y%m%d%H%M%S")"

$mysql_bin_dir -u$db_user -p$db_passwd $db_name > $backup_dir"/"$db_name"_"$time".sql"

#删除10天前的备份
find $backupdir -name "db_name*.sql" -type f -mtime +10 -exec rm {} \; > /dev/null 2>&1

2. 给bak_xx_mysql.sh赋予可执行权限

chmod +x /alidata/www/bak_xx_mysql.sh

3.crontab -e 

添加一段: 00 3 * * *  /alidata/www/abak_xx_mysql.sh 表示每天3点00分执行备份
需要重启crontab : sudo service cron restart

centos下mysql数据库自动备份并删除N天前备份文件