Python实现备份EC2的重要文件和MySQL数据库到S3

EC2+RDS+S3部署生产级MLflow服务器实战指南 MLflow是开源机器学习生命周期管理工具,核心能力在于统一追踪实验、参数、指标与模型工件。其架构天然分为元数据存储(metadata)和工件存储(artifacts)两层,需分别选用强一致性关系型数据库与高扩展对象存储。PostgreSQL凭借MVCC并发控制、JSONB索引支持和稳定事务性能,成为元数据后端首选;S3则以无目录限制、分段上传和低延迟GET能力,完美适配大体积二进制工件管理。在AWS云环境中,EC2提供可控进程生命周期与系统级运维能力,RDS保障ACID元数据服务,S3实现弹性工件存储—— 阅读详情

今天尝试了使用boto这个工具来用python备份文件到S3,废话不说,上代码:

1. 备份重要文件到S3:


import os
connected = 0
def connect():
    access_key = 'YOURKEY
    secret_key = 'YOURKEY'
    from boto.s3.connection import S3Connection
    global conn
    conn = S3Connection(access_key, secret_key)
    global connected
    connected = 1

def put(fileName, bucketName):
    if connected == 0:
        print 'Not connected!'
    elif connected == 1:
        local_file = fileName.strip()
        bucket = bucketName.strip()
        from boto.s3.key import Key
        b = conn.get_bucket(bucket)
        k = Key(b)
        k.key = local_file
        k.set_contents_from_filename(local_file)
        
if __name__ == '__main__':
    connect()
    sourceFolder = '/var/www/www.ttgrow.com/ttgrow/photos/storyPhotos'
    print 'story Photo sync in progress'
    for root, dirs, files in os.walk(sourceFolder):
        for file in files:
            print '  '+str(os.path.join(root,file))
            put(os.path.join(root,file),'ttgrow-photo')
    sourceFolder = '/var/www/www.ttgrow.com/ttgrow/photos/thumbnails'
    print 'thumbnail sync in progress'
    for root, dirs, files in os.walk(sourceFolder):
        for file in files:
            print '  '+str(os.path.join(root,file))
            put(os.path.join(root,file),'ttgrow-photo')
    print 'finished'

2. 备份mysql数据库到S3:

import os
connected = 0
def connect():
    access_key = 'YOURKEY'
    secret_key = 'YOURKEY'
    from boto.s3.connection import S3Connection
    global conn
    conn = S3Connection(access_key, secret_key)
    global connected
    connected = 1

def put(fileName, bucketName):
    if connected == 0:
        print 'Not connected!'
    elif connected == 1:
        local_file = fileName.strip()
        bucket = bucketName.strip()
        from boto.s3.key import Key
        b = conn.get_bucket(bucket)
        k = Key(b)
        k.key = local_file
        k.set_contents_from_filename(local_file)
        
if __name__ == '__main__':
    from datetime import datetime
    import os
    temp = datetime.today()
    fileName = '/tmp/dbbak-'+str(temp.year)+'-'+str(temp.month)+'-'+str(temp.day)+'-'+str(temp.hour)+'-'+str(temp.minute)+'.sql'
    os.system("mysqldump -h YOUR_RDS_LOCATION -u USRNAME -pPASSWORD DBNAME > "+fileName)
    print 'backup DB finished'
    connect()
    put(fileName,'ttgrow-db')

    print 'upload to S3 finished'

再把执行脚本加到定时器就每天可以定时执行了 :)


更多操作见官方文档:

http://aws.amazon.com/python/



版权所有。转载本BLOG内任何文章,请以超链接形式注明出处。
Ubuntu 16.04日志归档方案:Logrotate+s3cmd对象存储冷备份 日志归档是运维中保障合规性与故障回溯的基础能力,其核心在于安全切分、高效压缩、可靠上传与长期存档。Logrotate 提供原子化轮转与生命周期管理,解决高并发写入下文件锁定与完整性难题;s3cmd 则依托 S3 兼容协议实现断点续传、MD5 校验与分片上传,在老旧环境(如 Ubuntu 16.04)中替代 aws-cli 或 rclone 成为稳定选择。该组合不依赖新内核特性或容器化环境,天然适配 MySQL 慢日志、Nginx 访问日志等典型场景,支撑 6 个月以上合规留存需求,并可无缝对接腾讯云 COS 阅读详情

相关推荐

Snowflake与Redshift深度对比:云数据仓库选型决策指南

云数据仓库是现代企业数据架构的核心组件,其选型直接影响实时分析能力、成本效率与运维复杂度。从技术原理看,Snowflake采用存储-计算-服务三层解耦架构,实现真正的弹性伸缩与零拷贝克隆;而Amazon Redshift基于MPP设计,计算与存储在RA3节点中部分分离,依赖Concurrency Scaling应对并发高峰。这种架构差异直接决定技术价值:Snowflake更适合多团队并行、查询负载波动大、湖仓直连需求强的场景;Redshift则在AWS生态深度整合、长期稳定工作负载及已有云基建复用方面更具优

weixin_34234721的博客 434

MySQL-backup-to-Amazon-S3: 简单易用的MySQL数据库备份到Amazon S3解决方案

MySQL-backup-to-Amazon-S3: 简单易用的MySQL数据库备份到Amazon S3解决方案 是一个简单而强大的工具,可以将你的MySQL数据库轻松备份到Amazon S3存储桶中。这个项目的目的是为用户提供一种安全、可靠且易于管理的方式来保存他们的数据。 功能与用途 MySQL-backup-to-Amazon-S3 可用于各种场景: 定期自动备份MySQL数据库以防止数据...

gitblog_00064的博客 731

AWS EC2实例四大类型选型指南:从原理到生产避坑

EC2实例类型是AWS云资源调度的核心抽象,本质是计算、内存、存储与网络资源的不同配比范式。理解通用型、计算优化型、内存优化型和存储优化型的底层硬件逻辑(如CPU微架构、NUMA拓扑、NVMe本地盘特性),才能避免性能瓶颈与成本浪费。这些类型直接决定应用在高并发Web服务、实时推理、Redis缓存、ClickHouse分析、Kafka消息队列等场景下的延迟、吞吐与稳定性。本文基于真实压测数据与CloudWatch指标,揭示实例选型中常被忽视的CPU积分机制、内存带宽瓶颈、IOPS虚标陷阱及NUMA感知配置等

anzheng6118的博客 416

亚马逊云科技|基础系列(3)S3对象存储&RDS数据库

在添加子网部分,选择您的MySQL数据库需要放在哪两个AZ中(最少选择两个,且建议将数据库创建在私有子网中)。选择“查看数据库实例详细信息”以查看RDS(MySQL)数据库实例。(见步骤五图示,可自由填写,用于描述子网组用途、属性等,图示为。检查月度估算费用,确认创建RDS(MySQL)数据库实例。在导航窗格中,选择子网组,选择“创建子网组”在“模板”页面上,选择“开发/测试。选择“创建”,完成创建。选择已创建的VPC:rds。

weixin_49849119的博客 1004

零成本搭建MLflow模型追踪系统:Databricks+S3实战指南

模型追踪是MLOps的基础能力,其核心在于统一记录实验参数、指标、模型与数据版本,保障AI研发的可复现性与协作效率。基于开源MLflow协议,结合Databricks Community Edition提供的免费Spark计算环境和AWS S3高可靠对象存储,可构建完全自主可控的轻量级追踪服务。该方案规避厂商锁定,支持SQLite快速启动与PostgreSQL平滑升级,天然适配模型注册、生产部署及跨团队审计等关键场景。尤其适合预算有限但需建立规范流程的初创团队与个人研究者——无需付费云服务,今天即可完成端到

diegouyi3472的博客 295

safe:将 mysql、posgresql、svn 和文件简单备份到 s3 或本地文件系统

安全的 支持 S3 和 Rackspace 云文件的简单数据库和文件系统备份(可选加密) 主页: : 代码: : 博客: : 动机 我们需要一个能够满足以下要求的备份解决方案: 开源 安装和配置简单 支持目录的简单“tar”备份(包含/排除) 支持mysql数据库的简单mysqldump 支持对称或公钥加密 支持本地文件系统、Amazon S3 和 Rackspace Cloud Files 进行存储 支持备份轮换。 我们不希望备份填满所有磁盘空间或在 S3 或 Cloud Files 上花费一大笔钱 由于没有找到任何东西,所以我们写了自己的:) 贡献 以下功能由 astrails-safe 用户提供: 使用pg_dump PostgreSQL 转储(作者 Mark Mansour ) 使用 svndump 的 Subversion 转储(作者:Richard Lu

S3 的概念和使用

工作需要测试数据库从 S3(Simple Storage Service)导入数据文件,公司有私有S3环境。S3是一种对象存储,数据模型很简单,就是key-value,key就是一个任意字符串,value是一个文件。S3的功能是上传一个文件,并且标记为key,以后就用key获取这个文件。

howard_shooter的博客 5488

mysqldump-to-s3:使用Docker将MySQL数据库备份到S3!

mysqldump-to-s3 该docker容器将使用mysqldump备份MySQL数据库,将其流式传输到gzip,并将其流式传输到S3上的文件。 您必须设置以下环境变量,或使用IAM角色: AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY 您可以选择设置DATE_FORMAT变量以更改输出文件名中使用的日期。 默认情况下,这是%Y/%m/%d 。 建立 make

mysql导出数据到s3_将MySQL数据库备份到Amazon S3的方法

本文带你完成在Ubuntu和基于CentOS的MySQL服务器上将MySQL数据库备份到Amazon S3。简介Amazon S3是Amazon Web Services提供的Web服务,它通过Web服务接口提供存储,并提供存储在其上的对象的API,由于S3是高度可用的分布式对象存储服务,因此它是存储关键数据(如不占用大量空间的数据库)的理想场所,在通过API与S3交互之前,需要安装提供aws命令...

weixin_39806065的博客 1210

spark -s3 中国区下载数据

详细的关于利用spark连接中国区亚马逊云服务的S3数据库,踩过很多坑,看了很多网页,介绍的不是很仔细,因此直接上代码

告别误唤醒!S32K3xx低功耗设计避坑指南:Fast Standby模式与WISR寄存器操作详解

本文深入解析了NXP S32K3xx系列MCU在低功耗设计中常见的误唤醒问题,并提供了基于Fast Standby模式的解决方案。文章重点剖析了DCMRWF5寄存器的配置方法、WISR/WISR_64唤醒中断状态寄存器的标志位处理策略,以及如何利用32KB Standby SRAM保存唤醒状态,从而帮助开发者构建稳定可靠的汽车电子低功耗系统。

weixin_29163857的博客 361

mysql到s3_Python实现备份EC2的重要文件和MySQL数据库到S3

今天尝试了使用boto这个工具来用python备份文件到s3,废话不说,上代码:1. 备份重要文件到s3:[python]import osconnected = 0def connect():access_key = 'yourkeysecret_key = 'yourkey'from boto.s3.connection import s3connectionglobal connconn =...

weixin_29264201的博客 257

PCL读取点云数据报错:Failed to find match for field ‘x‘/ ‘y‘/ ‘z‘.

原因:使用matlab生成的pcd文件,点云数据是双精度类型,pcl处理的点云数据是单精度类型。解决方案:使用matlab生成的点云坐标单精度化,然后在生成点云加以存储。

little_white138的博客 866

ec2 mysql 丢失数据_Python实现备份EC2的重要文件和MySQL数据库到S3

今天尝试了使用boto这个工具来用python备份文件到S3,废话不说,上代码:1. 备份重要文件到S3:import osconnected = 0def connect():access_key = 'YOURKEYsecret_key = 'YOURKEY'from boto.s3.connection import S3Connectionglobal connconn = S3Conne...

weixin_30075701的博客 112

从零搭建YOLOv2硬件加速器:基于PYNQ-Z2的Vivado HLS与Jupyter Notebook实战

本文详细介绍了如何从零搭建YOLOv2硬件加速器,基于PYNQ-Z2开发板,结合Vivado HLS与Jupyter Notebook实现高效目标检测。通过硬件加速,YOLOv2推理速度提升8倍,功耗降低80%。文章涵盖硬件准备、Vivado HLS工程配置、IP核集成、PYNQ部署及常见问题解决,为开发者提供完整实战指南。

weixin_29188997的博客 1008

SAP采购含税价转换的底层逻辑解析:ABAP例程如何实现价税分离计算

本文深入解析SAP系统中采购含税价与不含税价的转换机制,重点介绍VOFM例程和ABAP代码实现价税分离计算的方法。通过详细讲解数学原理、税率体系及SAP定价引擎架构,为开发人员提供完整的解决方案,帮助提升采购业务中的价格处理效率和准确性。

weixin_29237635的博客 450

AWS新手必学四大核心服务:EC2、S3、IAM、VPC实战指南

云服务学习的核心不是记忆数量,而是掌握基础架构的原子能力。AWS作为主流公有云平台,其底层能力围绕计算、存储、权限与网络四大基础维度展开——这对应着EC2(弹性计算)、S3(对象存储)、IAM(身份与访问控制)、VPC(虚拟私有云)四大高频服务。它们构成云上系统稳定运行的‘承重柱’,90%的典型问题(如xshell5连接失败、S3 URL无法访问、RDS连接被拒)均源于这四者配置不当。掌握其原理与最小可行实践,即可支撑Web应用、静态网站、订单系统等绝大多数中小规模项目;后续扩展(如SQS消息队列、Lamb

weixin_30268071的博客 351

CUDA详细安装及环境配置——环境配置指南 – CUDA+cuDNN+PyTorch 安装

本文详细介绍了如何确定显卡支持的CUDA版本、选择对应的cuDNN版本,并逐步安装CUDA、cuDNN和PyTorch。首先,通过命令行输入nvidia-smi.exe查看显卡支持的CUDA版本。接着,根据CUDA版本选择对应的cuDNN版本并下载。然后,从NVIDIA官方网站下载CUDA安装包,按照提示进行安装,并检查是否安装成功。同样地,下载cuDNN安装包,解压后将文件拷贝到CUDA安装目录中,并通过命令行验证安装是否成功。最后,根据PyTorch官网的指引,选择合适的安装命令进行PyTorch的安装

2501_90350274的博客 5098

5 步搭好你的 AWS 云架构:从一台 EC2 到生产部署的完整指南

这份指南基于 awesome-aws 项目——一份精选的 AWS 资源清单,收录了云架构、部署、安全、成本治理等方向的开源库、文档与教程。跟着 5 步走,你会亲手把一个网站从单台 EC2 服务器,部署到带监控、自动化流水线的生产级云架构,每一步都能在清单里找到对应的进阶资料。 ## 第 1 步:装好 AWS CLI,把账户安全先兜住 🚀 在控制台点鼠标之前,先装好两个"入口": 1. **

gitblog_00904的博客 968

YOLOv10改进 | 代码逐行解析(三) | YOLO中的Mosaic增强详解(新手入门必读系列)

本文给大家带来的是YOLOv10中的Mosaic增强代码的详解,可能有部分人对于这一部分比较陌生,有的读者可能知道Mosaic增强但是不知道其工作原理,具体来说Mosaic增强就是指我们的数据集中的图片在输入给模型之前的一个处理过程(我们的图片并不是直接就输入给模型了,大家的训练结果中的结果检测图片大家可以看到数据集中多个图片会组合在一起这就是简单的Mosaic增强),下面我就来讲解一下其在YOLOv10中工作原理和代码定义,下面图片为一个Mosaic增强后的图片。​。

Snu77的博客 2076

自定义配方画面的具体方法示例 - 嵌入式

自定义配方画面的具体方法示例 - 嵌入式在TIA博途WinCC中,您可以通过编程来创建自定义配方画面。这些画面可以用于显示和编辑您的嵌入式系统中的配方参数。下面是一个示例,展示了如何在WinCC中实现自定义配方画面的方法。首先,您需要创建一个新的画面,并添加必要的控件来显示和编辑配方参数。在WinCC中,您可以使用文本框、按钮和标签等控件来实现这一目的。以下是一个简单的示例,展示了如何创建一个具有文本框和按钮的配方画面:创建新画面:添加控件:编辑控件属性:编写脚本: 在这个示例中,我们定义了两个变量和来存储

CyberBytezZ的博客 1034

AMI系统镜像和快照

是亚马逊AWS提供的系统镜像,该镜像包含了启动实例时所需要的必需信息。在创建一个EC2实例的时候,你必须选择一个AWS AMI。可以理解一个AMI是一个刻录好的系统光盘。下图所示的是AMI的生命周期,你可以创建并注册一个AMI,并且可以使用这个AMI来创建一个EC2实例。同时你也可以将这个AMI复制到同一个AWS区域或者不同的AWS区域。你同样也可以注销这个AMI镜像。你可以在AWS Marketplace下载厂家的官方AMI(比方说思科,SAP,微软等公司),或者可以在社区市场下载公共开放的AMI。

weixin_42230010的博客 1391

【2025最新版】Open3D 区域生长分割(python详细过程版)

点云区域生长分割算法的python详细过程版实现。博客长期更新,本文最新更新时间为:2025年3月23日。

点云侠的博客 9529

xshell备份Linux数据库,xshell工具source导入几个G的数据库

直奔主题xshell工具source导入几个G的数据库1、先把sql文件通过ftp或者winscp上传到服务器对应站点根目录,如图所示2、进入xshell界面,进入数据库之前一定设定编码,否者会报错输入密码 进入数据库 进行 数据库操作查看 数据库 show databases;创建数据库 create database datang;操作datang数据库 use datang;查看 数据表 s...

weixin_39629989的博客 470

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

S3与EFS深度选型与成本优化实战指南

对象存储与文件存储是云原生架构中最基础也最易误用的两类服务。理解S3的HTTP资源语义和EFS的POSIX文件系统语义,是避免权限混乱、性能瓶颈与隐性成本超支的前提。其核心原理在于访问模型差异:S3面向无状态服务提供高并发、最终一致的对象读写;EFS则为多实例共享提供强一致性、低延迟的文件级操作。技术价值体现在稳定性保障(如规避ACL与Bucket Policy冲突)、成本可控(如识别Standard-IA最小存储时长陷阱)及弹性适配(如EFS突发吞吐模式与存储量的动态关系)。典型应用场景包括用户媒体直传(

weixin_30314813的博客 477

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 解决amazon RDS 出现“Illegal mix of collations (latin1_swedish_ci,IMPLICIT)”的解决办法
下一篇: Django 的css和js压缩插件:django_compressor
Wally_Yu
博客等级 码龄19年 71粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值