1. 环境配置

要将本地文件上传到阿里云oss中, 必须使用阿里云提供的工具 ossutil, 有32位,也有64位的, Linux和Windows都有.具体可以到阿里云官网下载

本文以Linux系统为例:

下载工具:

wget http://gosspublic.alicdn.com/ossutil/1.6.7/ossutil64

修改文件执行权限:

chmod 755 ossutil64

使用交互式配置生成配置文件:

./ossutil64 config

该命令将创建一个配置文件,在其中存储配置信息。

请输入配置文件路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):

未输入配置文件路径,将使用默认配置文件:/home/user/.ossutilconfig。

对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。

请输入endpoint:http://oss-cn-hangzhou.aliyuncs.com

请输入accessKeyID:yourAccessKeyID

请输入accessKeySecret:yourAccessKeySecret

请输入stsToken:

endpoint:填写Bucket所在地域的域名信息,可参考访问域名和数据中心。

accessKeyID:查看方式请参考创建AccessKey。

accessKeySecret:查看方式请参考创建AccessKey。

stsToken:非必配项,若采用STS临时授权方式访问OSS需要配置该项,否则置空即可。stsToken生成方式参考临时访问凭证。

说明 更详细的配置文件说明可参考 https://helpcdn.aliyun.com/document_detail/120072.html?spm=a2c4g.11186623.2.21.409c448ahCrIHZ#concept-303826 。

配置完成后,可以用如下命令进行测试:

ossutil64 cp /etc/fatab oss://aliyunoss-backup/DB_DATA/

# aliyunoss-backup 为我的oss Bucket名称.DB_DATA为数据库备份目录.

如果你在第一步输入了 config file path, 执行上传命令的时候必须要加上指定的 config file path, 否则到默认的地方/root/.ossutilconfig是找不到的.如:

ossutil64 cp/etc/fatab oss://aliyunoss-backup/DB_DATA/ --config-file=/path to config file/filename

2. 示例

说明, 如下脚本是本人用的备份MySQL数据库并上传到阿里云oss存储.

1 #!/bin/bash2 # mysql_backup.sh: backup mysql databases and keep newest 7days backup.3 #4 # ${db_user} is mysql username5 # ${db_password} is mysql password6 # ${db_host} is mysql host7 # —————————–8 #/root/mysql_backup.sh

9 # everyday 3:00AM execute database backup10 # 0 3 * * * /root/mysql_backup_to_oss.sh

11 #/etc/cron.daily12

13 # the directory for story your backup file. #14 backup_dir="/opt/backup/mysql/"

15

16 # 要备份的数据库名 #17 all_db="mydb1 mydb2 mydb3"

18

19 # 要保留的备份天数 #20 backup_day=7

21

22 #数据库备份日志文件存储的路径23 logfile="/var/log/mysql_backup.log"

24

25 # Aliyun OSS Bucket Name.26 bucket_name=aliyunoss-backup27

28 # local IP address29 local_ip=`hostname -i`30

31 # date format for backup file (dd-mm-yyyy) #32 time="$(date +"%Y-%m-%d")"

33

34 # mysql, ${mysqldump} and some other bin's path #

35 mysql="/usr/bin/mysql"

36 mysqldump="/usr/bin/mysqldump"

37

38 # the directory forstory the newest backup #39 test ! -d ${backup_dir} && mkdir -p ${backup_dir}40

41 #备份数据库函数#42 mysql_backup()43 {44 # 取所有的数据库名 #45 for db in${all_db}46 do

47 backname=${db}.${time}48 dumpfile=${backup_dir}${backname}49

50 #将备份的时间、数据库名存入日志51 echo "------"$(date +'%Y-%m-%d %T')"Beginning database"${db}"backup--------" >>${logfile}52 ${mysqldump} --login-path=my3306 ${db} > ${dumpfile}.sql 2>>${logfile} 2>&1

53

54 #开始将压缩数据日志写入log55 echo $(date +'%Y-%m-%d %T')"Beginning zip ${dumpfile}.sql" >>${logfile}56

57 #将备份数据库文件库压成ZIP文件,并删除先前的SQL文件. #58 tar -czvf ${backname}.tar.gz ${backname}.sql 2>&1 && rm ${dumpfile}.sql 2>>${logfile} 2>&1

59

60 #将压缩后的文件名存入日志。61 echo "backup file name:"${dumpfile}".tar.gz" >>${logfile}62 echo -e "-------"$(date +'%Y-%m-%d %T')"Ending database"${db}"backup-------\n" >>${logfile}63 done

64 }65

66 delete_old_backup()67 {68 echo "delete backup file:" >>${logfile}69 # 删除旧的备份 查找出当前目录下七天前生成的文件,并将之删除70 find ${backup_dir} -type f -mtime +${backup_day} | tee delete_list.log | xargs rm -rf71 cat delete_list.log >>${logfile}72 }73

74 upload_backups_toAliyunOSS()75 {76 # upload backfile to Aliyun OSS bucket77 for db in${all_db}78 do

79 backname=${db}.${time}80 echo "upload ${backname}.tar.gz to AliyunOSS begin at"$(date +'%Y-%m-%d %T') >>${logfile}81 ### Upload to AliyunOSS by storage Monthly ###82 ossutil64 cp ${backname}.tar.gz oss://${bucket_name}/DB_DATA/$(date +'%Y%m')/${local_ip}/ -f

83 echo "upload ${backname}.tar.gz to AliyunOSS done at"$(date +'%Y-%m-%d %T') >>${logfile}84 done

85 }86

87 #进入数据库备份文件目录88 cd ${backup_dir}89

90 mysql_backup91 delete_old_backup92 upload_backups_toAliyunOSS93

94 echo -e "========== mysql backup && upload_to_AliyunOSS done at"$(date +'%Y-%m-%d %T')"==========\n\n">>${logfile}95 #cat ${logfile}

MySQL备份脚本(压缩并上传到阿里云OSS)

OSS中存储格式:

备份日志:

3. MySQL认证登录配置

在上述脚本中使用到了MySQL认证登录, 使用mysql_config_editor工具提前配置好MySQL的认证登录.

mysql_config_editor是在MySQL-5.6以后提供的, 这个工具可以认证信息加密存储在.mylogin.cnf中,通常这个文件在Linux用户的家目录,当然password信息是加密的,无需担心泄露问题, 当然也不需要每次登录都输入密码, 更不用讲密码写入脚本或配置文件中, 登录MySQL只需要使用认证信息登录即可. 在一定程度上保障了数据库的安全.

mysql_config_editor使用方法:

mysql_config_editor set --login-path=[认证信息名] user=[用户名] --password

#认证信息名是该条认证信息的名称,后续登录时直接使用认证信息名即可登录,无需再次输入密码。

#这里需要注意的是密码里面不能含有特殊字符,建议创建一个新的用户来进行备份操作

mysql --login-path=[认证信息名]

#直接使用认证信息名来登录

如:

mysql_config_editor set --login-path=my3306 --user=root --socket=/opt/mysql/mysql.sock --password

输入密码后,就建立了认证信息文件my3306, 下次登录MySQL数据库, 就不用输入密码了,使用如下命令即可免密登录mysql:

mysql --login-path=my3306

MySQL备份:

mysqldump --login-path=my3306 py3db > py3db.sql

无需输入MySQL密码, 即可执行命令.

mysql数据库备份到oss_备份MySQL数据库并上传到阿里云OSS存储相关推荐

  1. mysql数据库备份到oss_备份数据库并上传至阿里云OSS

    下载OSS工具ossutil wget http://gosspublic.alicdn.com/ossutil/1.5.0/ossutil64 #下载ossutil chmod 755 ossuti ...

  2. mysql每日备份数据库并上传到阿里云oss对象存储搭建笔记

    第一步.下载阿里云上传工具,步骤如下: 1.在linux系统服务器命令行下载ossutil64工具: wget http://gosspublic.alicdn.com/ossutil/1.6.7/o ...

  3. mysql上传到阿里云服务器地址_从0部署Web项目到阿里云服务器上

    前言 本篇文章的主要内容正如标题所言,这个过程说简单也还是有很多细节需要注意的,说难其实也挺简单的,还是希望我们大家都能勤动手去体会其中的内容,经历本身就可以使人进步.话不多说,让我们开始吧. 正文 ...

  4. 【案例】“1GB1年1毛钱“——使用 Backup exec 基于阿里云OSS 实现企业数据异地备份 【服务器管理】【云备份】

    [案例]"1GB1年1毛钱"--使用 Backup exec 基于阿里云OSS 实现企业数据异地备份 [服务器管理][云备份] 1.使用环境 如图所示 资源 配置 备注 File ...

  5. 用多备份将网站数据备份到百度云,七牛云存储,阿里云OSS,亚马逊S3,金山云等云存储服务上

    真正运营过网站的人都知道,数据对一个网站来说至关重要,因此,网站数据备份也是日常必做工作.因为误操作,网站被攻击等种种原因都会导致数据丢失,这时,你才会明白"有备无患"的道理.备份 ...

  6. 宝塔面板如何将数据自动备份到阿里云OSS对象存储

    首先我们需要购买阿里云OSS对象存储的容量包,价格一般不贵. 操作步骤: 先新建一个bucket,也叫做桶,用来装你的备份数据,权限设置为私有. 接着,在宝塔面板后台安装阿里云OSS,填写相关信息 接 ...

  7. C#实现自动下载阿里云数据库RDS,附转储阿里云OSS服务器

    本文属于个人原创作品.个人总结,谢绝转载.抄袭.如果您有疑问或者希望沟通交流,可以联系QQ:865562060. 一.简述 现阶段服务器.数据库上云的选择越来越多,但不是说服务器和数据库上云管理之后就 ...

  8. 服务器护卫神怎么上传文件,护卫神异地备份系统怎么将数、据上传到服务器上?...

    护卫神异地备份系统怎么将数.据上传到服务器上? 发布时间:2017-09-11 14:08 来源:互联网 当前栏目:软件安装 护卫神异地备份系统可以对各类数据实时或定时上传到原创FTP服务器备份,也可 ...

  9. 安装es怎么在后台运行_ES备份索引数据到阿里云OSS

    ES的快照备份当前是存放在NAS下,考虑成本问题现在打算把快照备份到阿里云OSS下. https://github.com/aliyun/elasticsearch-repository-oss,此插 ...

最新文章

  1. Mixing Milk(USACO)
  2. 设计模式之中介者模式(Mediator)摘录
  3. 《DSP using MATLAB》示例Example7.22
  4. FastText情感分析和词向量训练实战——Keras算法练习
  5. 你应该知道的Excel 2007小技巧
  6. 第十二章 图形用户界面
  7. Java-进阶:Java-File--IO—2
  8. 微软Dev版Win11下周不更新 或为能跑安卓APP的新版做准备
  9. 李维说他跳槽了,那我以后也不是Borland的Fans了?
  10. win7如何删除mariadb
  11. jfreechart linux图片中文显示乱码解决方法
  12. 【Docker】 命令速查
  13. Quartus II 软件使用(零)---安装与破解 (9.0版本 亲测有效)
  14. 操作系统实验1—基于优先数的时间片轮转调度算法调度处理模拟程序设计
  15. 图解大数据 | Spark机器学习(上)-工作流与特征工程
  16. 模长,方向余弦,方向角、单位向量和方向导数的计算
  17. 个人信息安全规范----6、个人信息的委托处理、共享、转让、公开披露
  18. matlab圆孔孔壁应力集中,matlab 有限元分析平面问题的小孔应力集中问题的程序 - 下载 - 搜珍网...
  19. 一起找BUG,谷歌推出全新漏洞悬赏平台
  20. PVT(Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions)

热门文章

  1. 机器学习-算法背后的理论与优化(part6)--正则化的优缺点
  2. Django从理论到实战(part18)--配置templates文件夹路径
  3. Python中的堆实现:heapq 模块——利用堆结构实现快速访问数据流中的中位数
  4. 如何利用数据分析买到好房子?
  5. SAP UI5 应用开发教程之四:XML 视图初探
  6. 如何在 SAP 电商云 Spartacus UI 首页的产品展示里显示视频
  7. 使用组件化开发思路替换 SAP Spartacus 的 Logo
  8. SAP Spartacus 事件服务 Event Service 使用介绍
  9. 如何查找历史版本的SAP UI5 API文档
  10. SAP Spartacus All Units页面里的按钮style和对应的scss实现