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

2023-12-13 03:39:53

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_password="数据库密码"
mysql_database="数据库名称"

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

# 执行备份命令
mysqldump -h "$mysql_host" -u "$mysql_user" -p"$mysql_password" "$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表达式

文章来源:https://blog.csdn.net/qq_35921773/article/details/134874397
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。