#!/bin/bash # 获取当前日期和时间 current_date=$(date +%Y-%m-%d) current_time=$(date +%H:%M:%S) userName=$1 password=$2 dbName=$3 host=$4 backUpPath=$5 # 备份文件名 backup_file="${dbName}_backup_${current_date}.sql" echo "backup_file: "${backup_file} mkdir ${backUpPath} -p || true # 备份MySQL数据库 mysqldump --column-statistics=0 -R --opt -u${userName} -p"${password}" -h${host} ${dbName} > ${backUpPath}/"$backup_file" cd ${backUpPath} rm sql -rf || true mkdir sql || true mv ${backup_file} sql/ tar -czvf ${backup_file}".tar.gz" "sql/" rm -fr sql # #删除10天前的备份 delete_date=$(date -d "10 days ago" +%Y-%m-%d) delete_file="${dbName}_backup_${delete_date}.sql.tar.gz" rm ${backUpPath}/"$delete_file" # 输出日志 echo "[$current_date $current_time] 执行${dbName}数据库备份并删除10天前备份成功"