环境:阿里云服务器CentOS7.4 + MySQL5.6

基本思路:

1、编写shell脚本,备份数据库到指定目录下

2、编写Python脚本,把文件上传到OSS

3、把shell脚本和Python脚本添加Linux的crontab定时器,设置定时执行

首先,环境要配置好,Python环境,centos 7 自带Python,一般可以直接使用

查看Python版本:python -V

  

在创建一个目录/opt/backMySQL/xxx,在目录/opt/backMySQL下编写一个shell脚本backup.sh

 #!/bin/sh
cd /opt/backMySQL/xxx
echo "You are in /opt/backMySQL/xxx" Now=$(date +"%Y-%m-%d")
File=fileName-$Now.sql
mysqldump -urooot -ppassword databaseName > $File
echo "Your database backup successfully completed"
#删除昨天的文件
SevenDays=$(date -d -1day +"%Y-%m-%d") if [ -f /opt/backMySQL/xxx/fileName-$SevenDays.sql ]
then
rm -rf /opt/backMySQL/xxx/fileName-$SevenDays.sql
echo "You have delete 1 tays ago bak file"
else
echo "1 days ago bak file not exist"
fi

把第6、12、14行中的fileName替换成你想要的文件名,第7行换成数据库的用户和密码

执行这个脚本,就可以把数据库备份到/opt/backMySQL/xxx目录下了

再编写一个Python脚本backupToOSS.py

# -I- coding: utf-8 -*-
import os
import oss2 path = '/opt/backMySQL/naner_zhongkong/' auth = oss2.Auth('您的AccessKeyId','您的AccessKeySecret')
bucket = oss2.Bucket(auth,'您的Endpoint','您的Bucket名') #获取目录下的所有文件
f_list = os.listdir(path) for i in f_list:
# os.path.splitext():分离文件名与扩展名
if os.path.splitext(i)[1] == '.sql':
fileName = i
bucket.put_object_from_file('remote.txt','content of object')
注意:Python语言缩进有规定语法,不能随意缩进,记住缩进增加只用在以:结束的语句之后,缩进4个空格,而之后必须恢复到之前的缩进格式

执行:python backupToOSS.py

可以把文件上传到OSS上了

设置定时器
crontab -e
表示在每天1:05执行backup.sh、每天1:15执行backupToOSS.py
 
 
定时具体设置参考
 
Linux定时执行Python脚本

Linux(CentOS7)设置自动备份数据库到阿里云OSS的更多相关文章

  1. SQL SERVER 2012设置自动备份数据库

    为了防止数据丢失,这里给大家介绍SQL SERVER2012数据自动备份的方法: 一.打开SQL SERVER 2012,如图所示: 服务器类型:数据库引擎: 服务器名称:127.0.0.1(本地), ...

  2. SQLSERVER 设置自动备份数据库

    1. SQLSERVER 简单的设置 计划任务 进行 备份数据库的操作. 首先需要打开 一些设置 执行 命令如下: sp_configure ; GO RECONFIGURE; GO sp_confi ...

  3. 在linux服务器上自动备份数据库

    脚本如下,没有任何问题: # !/usr/bin/pythonimport osimport timeimport datetimeimport pipesimport glob DB_HOST = ...

  4. linux中FTP自动备份VPS脚本

    服务器多了,网站也越来越多,总觉得不整个备份心里放不下心,并且有好几次rm的操作失误,造成难以挽回的损失.并且大多数的VPS提供商是不提供自动备份功能或者此功能收费价格略高.所以自己还是有必要把这个工 ...

  5. Typora图片与阿里云OSS图床的结合之旅

    图床? 专门用于存放图片,并允许用户通过独一的外链进行特定图片资源的访问 为什么是阿里云OSS(Object Storage Service) 码云开源需要审核,已经不能作为免费的图床使用(2022年 ...

  6. 在linux和windows下自动备份数据库

    摘要: 详细介绍在windows和linux下自动备份数据库的过程,希望可以让新手立即上手吧! 本文档内容共分为2大部分:linux和windows Linux和windows都分为:准备工作和操作阶 ...

  7. SQL SERVER 设置自动备份和删除旧的数据库文件

    打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动).启动后点击“ ...

  8. SQL Server数据库设置自动备份策略

    一. 简单介绍 SQL Server自带的维护计划是一个非常有用的维护工具,能够完成大部分的数据库的维护任务. 数据库的备份也是日常工作中非常重要的一个环节.备份的方法非常的多. 今天给大家介绍最简单 ...

  9. [转载]linux下mysql 自动备份

    ySQL :: Linux 下自动备份数据库的 shell 脚本Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库.其 ...

随机推荐

  1. Android ListView实现新闻客户端的新闻内容图文混排

    布局文件: <LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/andro ...

  2. 四、angularjs 如何在页面没有登录的情况下阻止用户通过更改url进入页面--$stateChangeStart

    有时候用户没有登录或者在某些情况下你是不希望用户进入页面,但是angular的路由机制可以让用户直接通过更改Url进入页面,如何处理这一问题呢? ——监控路由转换机制 $stateChangeStar ...

  3. 一次线上bug引起的反思

    今天线上又出现了一个bug,而且代码是我写的.之前这个问题也出现过,不过由于每次情况都不同,改来改去总是改不完.之后领导知道后也很恼火,让测试把每种情况都测试了下,而我也又一次重新检查了下代码.当时确 ...

  4. OS考研复习笔记——操作系统的定义、目标、作用和发展的主要动力

    计算机系统由硬件和软件两部分组成.操作系统(OS,Operating System)是配置在计算机硬件上的第一层软件,是对硬件系统的首次补充. 硬件:计算机物理设备,即各种处理机存储器.输入/输出设备 ...

  5. 使用 grep 的 -o 和 -E 选项进行正则的精确匹配

    sed 命令可以很好的进行行匹配,但从某一行中精确匹配某些内容,则使用 grep 命令并辅以 -o 和 -E 选项可达到此目的.其中 -o 表示“only-matching”,即“仅匹配”之意.光用它 ...

  6. 3 Dockerfile指令详解-FROM&MAINTAINER&RUN

    1.FROM指令 FROM centos #指定centos为基础镜像 2.MAINTAINER 指令 MAINTAINER @QQ.COM #指定维护人等信息,方便维护 3.RUN  命令  #新建 ...

  7. ZT 分智网博客 – 职场、面试技巧、职业规划

    http://blog.fenzhi.com/archives/5148.html 分智网博客 – 职场.面试技巧.职业规划 软件工程师职位薪酬最高的25家中国公司 作者: 分智网 日期: 2013 ...

  8. [EffectiveC++]item02:尽量以const,enum,inline代替#define

  9. 今天开始每天一点ffmpeg知识。千里之行 。

    今天开始每天一点ffmpeg知识.千里之行 .

  10. spark中利用Sql2o连接数据的例子BlogService

    最近在看学习Spark Framework. 这是一个web框架,宗旨正如其官网LInk所示:Spark - A micro framework for creating web applicatio ...