定时自动备份mysql数据库

Linux自动备份mysql数据库(含docker部署的)

此处以docker部署的mysql为例

创建备份脚本

脚本内容

首先使用bash命令创建一个sh脚本文件并赋予执行权限

Bash

touch Auto_backup.sh && chmod +x Auto_backup.sh

使用编辑器打开这个脚本,并添加以下内容

Bash

#!/bin/bash
# 自动备份docker mysql数据库

# 定义备份路径
backup_dir=/Users/zdy/Desktop/mysql

# 定义备份时间
backup_time=`date +%Y_%m_%d_%H时%M分%S秒`

# 使用进入mysql容器执行mysqldump命令并备份数据库并将文件名更改为当前时间,此处--databases参数为备份多个数据库,若只有一个数据库备份,可以省略改参数
docker exec mysql mysqldump -u数据库用户名 -p数据库密码 --databases waline matomo | gzip > $backup_dir/backup_$backup_time.sql.gz

# 非docker部署时使用
# mysql mysqldump -u数据库用户名 -p数据库密码 --databases waline matomo | gzip > $backup_dir/backup_$backup_time.sql.gz

# 删除7天前的备份
find /www/mysql_backup -name "*.sql.gz" -mtime +7 | xargs rm -f
# 备用删除命令
# find $backup_dir -mtime +7 -name "*.sql.gz" -exec rm -rf {} \;

# 如果不需要压缩使用(直接备份为SQL文件)
# docker exec mysql mysqldump -u数据库用户名 -p数据库密码 --databases waline matomo  > $backup_dir/backup_$backup_time.sql
# find /www/mysql_backup -name "*.sql.gz" -mtime +7 | xargs rm -f

此时这个脚本就手动运行可以进行数据备份了,此处会提示在命令行界面上使用密码可能不安全。请注意哦!不过我一般使用RSA秘钥免密码连接,通常不存在泄露问题

定时自动备份mysql数据库插图1
备份效果

参数解释

–all-databases, -A: 备份所有数据库
–databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldum把每个名字都当作为数据库名。

–force, -f:即使发现sql错误,仍然继续备份
–host=host_name, -h host_name:备份主机名,默认为localhost
–no-data, -d:只导出表结构
–password[=password], -p[password]:密码
–port=port_num, -P port_num:制定TCP/IP连接时的端口号
–quick, -q:快速导出
–tables:覆盖 –databases or -B选项,后面所跟参数被视作表名
–user=user_name, -u user_name:用户名
–xml, -X:导出为xml文件

完整配置

Bash

#!/bin/bash
# 自动备份docker mysql数据库

# 定义备份路径
backup_dir=/Users/zdy/Desktop/mysql

# 定义备份时间
backup_time=`date +%Y_%m_%d_%H时%M分%S秒`

# 使用进入mysql容器执行mysqldump命令并备份数据库并将文件名更改为当前时间,此处--databases参数为备份多个数据库,若只有一个数据库备份,可以省略改参数
docker exec mysql mysqldump -u数据库用户名 -p数据库密码 --databases waline matomo | gzip > $backup_dir/backup_$backup_time.sql.gz

# 非docker部署时使用
# mysql mysqldump -u数据库用户名 -p数据库密码 --databases waline matomo | gzip > $backup_dir/backup_$backup_time.sql.gz

# 删除7天前的备份
find /www/mysql_backup -name "*.sql.gz" -mtime +7 | xargs rm -f
# 备用删除命令
# find $backup_dir -mtime +7 -name "*.sql.gz" -exec rm -rf {} \;

# 如果不需要压缩使用(直接备份为SQL文件)
# docker exec mysql mysqldump -u数据库用户名 -p数据库密码 --databases waline matomo  > $backup_dir/backup_$backup_time.sql
# find /www/mysql_backup -name "*.sql" -mtime +7 | xargs rm -f

# 拷贝到远程服务器
scp $backup_dir/backup_$backup_time.sql 用户名@远程服务器:路径/backup_$backup_time.sql
THE END
抢沙发

请登录后发表评论

    暂无评论内容

相关推荐

解锁ai绘制版本会员+免登入+数盾脱壳教程

怎么用棉签玩哭自己

怎么用棉签玩哭自己-可能资源网
当涉及到使用棉签进行娱乐活动时,我们应该特别注意安全和卫生。 以下是一些可以使用棉签进行的有趣活动: 棉签画画:你可以将棉签用作画笔,用不同颜色的墨水或颜料在纸上创作画作。试着练习绘...
可能的头像-可能资源网可能16天前
052

新手建站三丨零基础建站教程之网站备案

新手建站三丨零基础建站教程之网站备案-可能资源网
大家好,距离我们新手零基础建站的上篇文章,又过去了两天时间了,可能(kngzs.cn)小编不知道前面两篇的教程大家有没有学到,如果没有,建议大家在看本文前,先返回去了解下前两篇文章,今天我...
可能的头像-可能资源网可能3个月前
0172

100款最近很热门的软件免费下载入口

100款最近很热门的软件免费下载入口-可能资源网
标题:100款热门软件免费下载,畅享无限乐趣!正文:亲爱的用户们,你们是否还在为寻找一款适合自己的好软件而烦恼?现在,我们为您带来了一个好消息!我们精心挑选了100款热门软件,全部免费供...
可能的头像-可能资源网可能昨天
08

无界趣连最新破解教程

无界趣连最新破解教程-可能资源网
上一篇中,因为无界趣连更新了很多人都说没效果我自己是用着效果挺好然后我就下载了最新版看了一下代码确实有所改变,但道理还是一个道理后续的话如果显示更新,不用更新到时候再说吧,教你们去...
可能的头像-可能资源网可能30天前
1103

短信hz接口抓取

短信hz接口抓取-可能资源网短信hz接口抓取-可能资源网短信hz接口抓取-可能资源网
+1
短信hz接口抓取-可能资源网
可能的头像-可能资源网可能1个月前
193