Oejia 技术栈
首页
应用市场
方案
OE学院
分享
关于
编辑器
登录
如何实现 Odoo 数据每天备份到Amazon S3存储
admin
on 2021-01-29
继承任意已有模型(例如:abc)增加如下方法 ``` @api.model def backup_to_s3(self): import os from datetime import datetime import tempfile import boto from boto.s3.key import Key from odoo.service import db os.environ['S3_USE_SIGV4'] = 'True' def _transport_backup_simple(conn, bucket_name, data, filename): _logger.info('Backing up via S3 simple agent') bucket = conn.get_bucket(bucket_name) k = Key(bucket) k.key = filename k.set_contents_from_string(data) _logger.info('Data successfully backed up to s3') bucket_name = 'A-xxxxxxx' aws_access_key_id = 'B-xxxxxxxxxxxxxxxx' aws_secret_access_key = 'C-xxxxxxxxxxxxxxxxxxxxxx' conn = boto.connect_s3(aws_access_key_id, aws_secret_access_key, host='s3.D-xxxx.amazonaws.com') db_name = self.env.cr.dbname with tempfile.TemporaryFile() as t: db.dump_db(db_name, t) t.seek(0) db_dump = t.read() filename = "%(db_name)s_%(timestamp)s.zip" % { 'db_name': db_name, 'timestamp': datetime.utcnow().strftime("%Y-%m-%d_%H-%M-%SZ") } _transport_backup_simple(conn, bucket_name, db_dump, filename) ``` 其中 A-xxxxxxx、B-xxxxxxxxxxxxxxxx、C-xxxxxxxxxxxxxxxxxxxxxx为S3连接信息;D-xxxx 为 S3 所在可用区名 添加Odoo Cron定时任务,设置每天凌晨n点执行,任务执行Python代码如下: ``` env['abc'].backup_to_s3() ```
Information
如何实现 Odoo 数据每天备份到Amazon S3存储
http://www.oejia.net/article/7ca708cc91e6a4e94d8a177f6424ffaa
http://www.oejia.net/raw/7ca708cc91e6a4e94d8a177f6424ffaa
admin
on 2021-01-29
Category
Odoo
Related
2022-06-16 :
AccessError
2016-07-18 :
Nginx upstream 配置示例
2017-08-11 :
DjangoX 多对多嵌入表单 Inline 的用法
2021-08-31 :
微信模块 Oejia_wx v0.6.5 发布,更灵活强大的自定义回复功能实现各类自助交互查询业务
2022-01-08 :
Odoo 翻译
2016-01-17 :
EXTJS 中Ajax 应用示例
2022-09-05 :
Odoo 企业微信之日历、日程的同步
2022-02-03 :
用 VIM 操作 BOM 标记
2022-05-15 :
远程登录提示“找不到匹配的keyexchange算法”
2022-06-30 :
OE会员模块
官方订阅号
关注订阅实时了解我们更多分享
分类
(24)
Django (3)
DjangoX (13)
JS (2)
Nginx (1)
Odoo (129)
Python (1)
YouMd (3)
公告说明 (2)
前端 (2)
后端HTTP (7)
异常处理 (1)
桌面UI (1)
移动开发 (4)
About This Entry
Linux 软件源推荐
Odoo 如何用命令行备份还原数据
About This Blog
main index
to find recently
archives
to find all
标签
微信模块发布记录
微信模块
小程序商城
Web
Http
客服系统
HTML5
OE商城
审批OA
DjangoX
Markdown
示例
markdown
Python
解析
服系统
oeshop
PyQT
Excel
md
YouPBX
最近发布
处理 Error Failed to download metadata for repo ‘appstream‘ Cannot prepare internal mirrorlist
Odoo 16 关键变化 change the term "acquirer" to "provider"
企业微信错误码 81013 的排查与处理
Odoo商城模块 Oejia_weshop v1.1 发布,支持Odoo16及下单子账号特性
微信模块 Oejia_wx v0.6.7 发布,支持 Odoo16 及新的Websocket消息模式
Odoo16 开启客屏时如何实现在POS设备上自动打开到第二屏
Odoo生产环境需要注意或修改的一些关键配置项
Odoo 更灵活的对账、付款及客户余额的介绍
Odoo16 SyntaxError
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子