mysql备份脚本(备份库,使用mysqldump+定时任务方式)

使用方法:

本备份脚本尽可备份一个库,如需备份多个:
1、可以复制多次放入一个脚本,使用一个定时任务。建议多个任务发入一个脚本在任务中中加入 sleep 5 等待一段时间以确保安全
2、也可进行脚本复制,多个脚本多个库,多个定时任务分开,建议多个定时任务执行脚本进行时间分开执行,以免出现问题。

mysql备份脚本(备份中包含删除90天之前的备份不使用可以删除)

#!/bin/bash
#填写mysql环境变量,以防定时任务执行不了备份任务
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin

# 备份文件保存路径
backup_dir=""

# MySQL连接信息
db_host="localhost"
db_port="3306"
db_user="your_mysql_user"
db_password="your_mysql_password"
db_name="your_database_name"

# 备份文件名
backup_file="${backup_dir}/backup_$(date +'%Y%m%d%H%M%S').sql"

# 执行备份命令
mysqldump -h"${db_host}" -P"${db_port}" -u"${db_user}" -p"${db_password}" "${db_name}" > "${backup_file}"

# 检查备份是否成功
if [ "$?" -eq 0 ]; then
  echo "MySQL备份成功: ${backup_file}"
else
  echo "MySQL备份失败"
fi

#删除脚本
# 获取当前时间
current_date=$(date +%Y%m%d%H%M%S)
# 计算90天之前时间
thirty_days_ago=$(date -u -d "90 days ago" +%Y%m%d)*
echo "当前日期和时间: $current_date"
echo "90天前的日期和时间: $thirty_days_ago"

file_to_delete="backup_$thirty_days_ago.sql"
echo "删除时间:$file_to_delete"
rm -rf $backup_dir$file_to_delete
echo "备份成功!并删除备份90天之前数据!"

定时任务

#每天晚上十二点执行脚本
0 0 * * * sh /opt/bak/mysql_bak.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值