Linux(CentOS7)设置自动备份数据库到阿里云OSS
环境:阿里云服务器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 backupToOSS.py
可以把文件上传到OSS上了

Linux(CentOS7)设置自动备份数据库到阿里云OSS的更多相关文章
- SQL SERVER 2012设置自动备份数据库
为了防止数据丢失,这里给大家介绍SQL SERVER2012数据自动备份的方法: 一.打开SQL SERVER 2012,如图所示: 服务器类型:数据库引擎: 服务器名称:127.0.0.1(本地), ...
- SQLSERVER 设置自动备份数据库
1. SQLSERVER 简单的设置 计划任务 进行 备份数据库的操作. 首先需要打开 一些设置 执行 命令如下: sp_configure ; GO RECONFIGURE; GO sp_confi ...
- 在linux服务器上自动备份数据库
脚本如下,没有任何问题: # !/usr/bin/pythonimport osimport timeimport datetimeimport pipesimport glob DB_HOST = ...
- linux中FTP自动备份VPS脚本
服务器多了,网站也越来越多,总觉得不整个备份心里放不下心,并且有好几次rm的操作失误,造成难以挽回的损失.并且大多数的VPS提供商是不提供自动备份功能或者此功能收费价格略高.所以自己还是有必要把这个工 ...
- Typora图片与阿里云OSS图床的结合之旅
图床? 专门用于存放图片,并允许用户通过独一的外链进行特定图片资源的访问 为什么是阿里云OSS(Object Storage Service) 码云开源需要审核,已经不能作为免费的图床使用(2022年 ...
- 在linux和windows下自动备份数据库
摘要: 详细介绍在windows和linux下自动备份数据库的过程,希望可以让新手立即上手吧! 本文档内容共分为2大部分:linux和windows Linux和windows都分为:准备工作和操作阶 ...
- SQL SERVER 设置自动备份和删除旧的数据库文件
打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动).启动后点击“ ...
- SQL Server数据库设置自动备份策略
一. 简单介绍 SQL Server自带的维护计划是一个非常有用的维护工具,能够完成大部分的数据库的维护任务. 数据库的备份也是日常工作中非常重要的一个环节.备份的方法非常的多. 今天给大家介绍最简单 ...
- [转载]linux下mysql 自动备份
ySQL :: Linux 下自动备份数据库的 shell 脚本Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库.其 ...
随机推荐
- C++ 多线程编程实例【2个线程模拟卖火车票的小程序】
原文:http://blog.csdn.net/chen825919148/article/details/7904219 核心提示:从网上搜集来的非常基础的C++多线程实例,刚入门的可以看看,希望能 ...
- Activiti实现会签功能
一个任务需要多个角色进行审批或者表决,根据这些审批结果来决定流程的走向.实现以上任务,activiti已经提供了支持,可以使用BPMN规范的多实例活动来实现. 1.Activiti多实例: 多实例节点 ...
- CMD命令行下编译.Net Visual Studio 项目
有时候我们需要编译.net 的sln解决方案,可是VS打开的速度太慢,可以用命令行进行代替,详细过程如下: 1.开始菜单——>Visual Studio 2017(根据你电脑上安装的VS版本来) ...
- Java Spring中@Query中使用JPQL LIKE 写法
两种方式 // 一 public List<TestEntity> searchByJpql(){ String jpql = "select k from TestEntity ...
- exchange 删除邮件
一 批量删除特定主题的邮件1.1 批量删除所有数据库中特定主题的邮件1) 群发了几封主题为“backup”的邮件: 2) 当前操作账号需要满足如下需求: a)该账号需属于Exchange Server ...
- 沉淀再出发:如何在eclipse中查看java的核心代码
沉淀再出发:如何在eclipse中查看java的核心代码 一.前言 很多时候我们在eclipse中按F3键打算查看某一个系统类的定义的时候,总是弹出找不到类这样的界面,这里我们把核心对应的代码加进 ...
- UpdatePanel中用后台CS代码调用JS代码,先执行控件事件,后触发JS
引用地址: http://www.cnblogs.com/silenkee/articles/1609831.html 页面中加入了UpdatePanel后,Response.Write(&quo ...
- js图形库
SVG.js viz.js graphviz的js实现版 raphael d3 (http://d3js.org/) JavaScript InfoVis Toolkit Flotr2 and Env ...
- myeclipse run按钮不见了
window-->new window,打开新窗口,按钮出现了.关闭老窗口,再关闭新窗口.再次打开MyEclipse,妥妥的了.
- BZOJ 3211 花神游历各国 线段树平方开根
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3211 题目大意: 思路: 由于数据范围只有1e9,一个数字x开根号次数超过logx之后 ...