Mysql自动备份脚本(本地备份、远程备份、删除冗余备份)

Mysql自动备份脚本(本地备份、远程备份、删除冗余备份)

1. 脚本功能

自动备份mysql数据到服务器上,可以通过linux的 crontab定义备份周期。

自动删除七天前的备份数据。

2. 脚本内容

#!/bin/bash
# auth Eric
source  /etc/profile
# 设置备份目录和文件名
backup_directory="/usr/local/data"
backup_filename="test_$(date +%Y%m%d).sql"

# 设置MySQL连接参数
mysql_host="数据库IP"
mysql_user="数据库用户名"
mysql_port="数据库端口号"
mysql_password="数据库密码"
mysql_database="数据库名称"

# 创建备份目录(如果不存在)
mkdir -p "$backup_directory"

# 执行备份命令
mysqldump -h "$mysql_host" -u "$mysql_user" -p"$mysql_password" --port="$mysql_port"  "$mysql_database" > "$backup_directory/$backup_filename"

#删除7天前数据
find $backup_directory -name "test_*.sql" -mtime +7 -exec rm {} \;

# 检查备份是否成功
if [ $? -eq 0 ]; then
  echo "MySQL数据库备份成功:$backup_directory/$backup_filename"
else
  echo "MySQL数据库备份失败"
fi

3. 如何使用

新建backupmysql.sh填入脚本内容。

1.在mysql的宿主机执行备份

可以直接执行脚本backupmysql.sh,然后就可以查看备份后的脚本文件了

2.在远程机器上备份

需要在远程机器上安装mysql访问客户端

apt-get install mysql-client

或者

yum install mysql-client

然后再执行脚本

4. 定义备份周期

通过linux自带的corntab来实现脚本的定时备份

这里我们定义每天0点备份一次数据库

crontab -e

添加一行命令

0 0 * * * sh /home/Shell/backupmysql.sh

更多crontab表达式

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RedEric

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值