我的编程空间,编程开发者的网络收藏夹
学习永远不晚

定时备份 Mysql并上传到七牛的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

定时备份 Mysql并上传到七牛的方法

多数应用场景下,我们需要对重要数据进行备份、并放置到一个安全的地方,以备不时之需。

常见的 MySQL 数据备份方式有,直接打包复制对应的数据库或表文件(物理备份)、mysqldump 全量逻辑备份、xtrabackup 增量逻辑备份等。

常见的数据存储方式有,本机存储、FTP 上传到远程服务器、云存储(如阿里云OSS、七牛云存储等)、甚至本地也行。

我们可能不想每次都手动去备份,也不想每次都那么耗时间的去下载,也不想就放在服务器上丢了,因为我们需要异地备份。那我们可以尝试,写个脚本定时备份数据库,然后自动上传到指定服务器或云存储。

这里,我们说说 Linux 服务器下备份 MySQL 并上传到七牛云存储的方式。

准备工作

•Linux 系统

•crontab 服务

需保证 crond 服务处于启动&自启动状态。

•gzip 命令

需系统能正常执行 gzip 命令,用于压缩文件。

•mysqldump 命令

需系统能正常执行 mysqldump 命令,用于逻辑备份数据。mysqldump 备份的数据,系由可执行的 SQL 组成,不存在版本不兼容的问题。

•qshell 工具

qshell 是七牛云官方利用七牛文档上公开的 API 实现的一个方便开发者测试和使用七牛 API 服务的命令行工具。

具体文档和下载地址: https://developer.qiniu.com/kodo/tools/1302/qshell

•七牛云账号

存储数据的前提当然是先有一个七牛的账号,七牛对个人提供10G的免费存储空间,可供我们个人使用。注册地址:
https://portal.qiniu.com/signup?code=3looatwobaxci

•七牛存储空间

有了七牛云的账号后,还需在控制台手动创建一个空间(bucket)来存放数据。

qshell 配置

我们从官方地址中下载的 qshell 是个包含支持多个系统平台的压缩包,选择我们对应系统的那个二进制文件,赋予其可执行权限。也可以放置到 /usr/local/bin/ 等目录下,方便直接调用 qshell 命令。

配置七牛账号,ak、sk 在七牛云控制台 > 个人中心 > 密钥管理内。
qshell account ak sk

该命令会将 ak/sk 账号写入 ~/.qshell/account.json,此后就不用再配置了。

我们这里用的 qshell 命令是 rput,即以分片上传的方式上传一个文件,使用文档:

https://github.com/qiniu/qshell/blob/master/docs/rput.md

qshell rput <Bucket> <Key> <LocalFile> true

qshell 的其他详细功能使用,可自行参考其文档。

脚本内容


#!/bin/sh
# mysql data backup script
#
# use mysqldump --help,get more detail.
dbname=your_dbname
user=your_db_username
password=your_db_password
bakDir=/opt/backup/sql
logFile=/opt/backup/mysqlbak.log
datetime=`date +%Y%m%d%H%M%S`
keepDay=7
echo "-------------------------------------------" >> $logFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $logFile
echo "--------------------------" >> $logFile
cd $bakDir
bakFile=$dbname.$datetime.sql.gz
mysqldump -u$user -p$password $dbname | gzip > $bakFile
echo "数据库 [$dbname] 备份完成" >> $logFile
echo "$bakDir/$bakFile" >> $logFile
echo "开始上传备份文件至七牛云存储" >> $logFile
/usr/local/bin/qshell rput <Bucket> database/$bakFile $bakFile true | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" >> $logFile 2>&1
echo "删除${keepDay}天前的备份文件" >> $logFile
find $bakDir -ctime +$keepDay >> $logFile
find $bakDir -ctime +$keepDay -exec rm -rf {} \;
echo " " >> $logFile
echo " " >> $logFile

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

定时备份 Mysql并上传到七牛的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux实现对上传文件的定时备份、增量备份的方法

介绍 如果你们使用的是类似阿里云的OSS存储服务,那么可以使用服务提供的定时备份,这样可以不用考虑在服务器上做文件备份。 实际上想实现基础的备份还是非常简单的,我们平常使用tar、unzip等命令打包文件,在这个基础上编写一个shell脚本
2022-06-03

linux系统mysql自动备份并使用ftp上传的方法

#!/bin/bash#ftp设置Host=FTP_IPUsername=FTP_userPasswd=FTP_passwd#备份mysql并导出到文件mysqldump -u用户 --password=用户密码 数据库名 > $(date
2022-06-04

linux系统中mysql自动备份并使用ftp上传的方法

这篇文章主要介绍“linux系统中mysql自动备份并使用ftp上传的方法”,在日常操作中,相信很多人在linux系统中mysql自动备份并使用ftp上传的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”l
2023-06-09

linux下自动备份MySQL数据并上传到FTP上的shell脚本

#!/bin/bash #Mysql autobackup shell # # #----------------set the mysql login parameters dbuser=root dbpasswd= dbserver=l
2022-06-04

Linux 上 定时备份postgresql 数据库的方法

为了避免操作数据库的风险 因此计划每天对postgresql 数据库 进行定时备份 1.服务器地址: 备份服务器地址 10.10.10.101(虚构) postgresql 数据库所在的服务器地址 10.10.10.100(虚构) 因为我有
2022-06-03

Linux定时备份数据库到指定邮箱的方法

一、配置邮箱 这里使用的是网易邮箱126邮箱的STMP服务,服务器是smtp.126.com。如果你使用其它第三方邮箱,在帐号设置那里一般都有说明SMTP服务器地址。 如果你的Ubuntu没有安装mail模块,则需要执行这条命令来安装邮件模
2022-06-04

mysql数据库定时备份的方法是什么

MySQL数据库定时备份的方法有多种,其中常用的方法包括:使用MySQL自带的工具mysqldump进行备份。可以通过编写脚本或者使用定时任务工具,如cron,来定时执行mysqldump进行备份操作。使用MySQL的复制功能进行备份。可以
mysql数据库定时备份的方法是什么
2024-03-02

Docker MySQL每天定时自动备份的实现方法

目录一:备份二:还原三:定时任务docker mysql数据库的备份与还原,以及每天定时自动备份一:备份查看docker mysqlUbuntu@ubuntu:~$ sudo docker psCONTAINER ID IMAG
2023-01-05

shell脚本实现mysql数据库双机定时备份的方法

目录1 缘起与目的2 确认环境2.1 导出数据库sql脚本2.2 跨机器拷贝2.3 docker容器确认环境3 构建脚本3.1 脚本内容3.2 手动执行脚本确认正常4 定时任务1 缘起与目的最近有个需求,要求实现对某个数据库进行双机备份,
2022-07-20

编程热搜

目录