odoo数据备份方案

odoo数据备份有些第三方的模块可以用。如果数据量比较小,也可以直接使用odoo提供的备份功能,做成定时任务,每天做一次全备。 备份保留30天。

1、backup_odoo.sh

#!/bin/bash
BACKUP_PATH=/home/odoo/backup/
DB_NAME=odoo
TIME=`date  +%Y%m%d%H%M%S`
FileName="$BACKUP_PATH$DB_NAME.$TIME"
echo "--------------------------------------------------------"
echo $FileName

curl -X POST -F 'master_pwd=xxxxx' -F 'name=odoo3' -F 'backup_format=zip' -o $FileName  http://192.168.1.xxx:9001/web/database/backup

echo "备份odoo数据库成功"
echo "清理过期文件"
cd $BACKUP_PATH
pwd
find . -ctime +30 -type f | xargs rm -rf
echo "清理文件成功"
exit 0
echo "--------------------------------------------------------"

2、设置定时任务

每天凌晨2点30备份一次。

# crontab -e
30 2 * * * sh /home/odoo/bin/backup_odoo.sh  >> /home/odoo/bin/backup_odoo.log 2>&1

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,我们可以得知odoo是一个开源的ERP系统,而Java是一种编程语言。如果你想使用Java来拉取odoo数据,你可以使用odoo的API来实现。odoo的API是基于XML-RPC协议的,因此你可以使用Java的XML-RPC库来与odoo进行通信。以下是一个使用Java实现odoo数据拉取的例子: ```java import java.net.URL; import java.util.Arrays; import java.util.HashMap; import java.util.List; import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; import org.apache.xmlrpc.common.TypeFactoryImpl; import org.apache.xmlrpc.serializer.DefaultXMLWriterFactory; import org.apache.xmlrpc.serializer.XmlRpcWriter; import org.apache.xmlrpc.serializer.XmlWriterFactory; import org.apache.xmlrpc.server.XmlRpcServerConfigImpl; public class OdooDataPuller { private static final String SERVER_URL = "http://localhost:8069"; private static final String DB_NAME = "my_database"; private static final String USERNAME = "admin"; private static final String PASSWORD = "admin"; public static void main(String[] args) { try { // 设置XML-RPC客户端配置 XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); config.setServerURL(new URL(String.format("%s/xmlrpc/2/object", SERVER_URL))); config.setBasicUserName(USERNAME); config.setBasicPassword(PASSWORD); // 创建XML-RPC客户端 XmlRpcClient client = new XmlRpcClient(); client.setConfig(config); client.setTypeFactory(new TypeFactoryImpl(client)); // 调用authenticate方法进行身份验证 List<Object> params = Arrays.asList( DB_NAME, USERNAME, PASSWORD, new HashMap<>() ); Integer uid = (Integer) client.execute("authenticate", params); // 调用search_read方法获取数据 params = Arrays.asList( DB_NAME, uid, PASSWORD, "res.partner", "search_read", Arrays.asList( Arrays.asList( Arrays.asList("is_company", "=", true), Arrays.asList("customer", "=", true), Arrays.asList("sale_order_count", ">", 0) ) ), new HashMap<String, Object>() {{ put("fields", Arrays.asList("name", "email", "phone")); put("limit", 5); }} ); Object[] result = (Object[]) client.execute("execute_kw", params); // 输出结果 for (Object obj : result) { HashMap<String, Object> record = (HashMap<String, Object>) obj; System.out.printf("%s %s %s\n", record.get("name"), record.get("email"), record.get("phone") ); } } catch (Exception e) { e.printStackTrace(); } } } ``` 上述代码使用了Apache XML-RPC库来实现与odoo的通信。首先,我们需要设置XML-RPC客户端配置,包括odoo服务器的URL、数据库名称、用户名和密码。然后,我们调用authenticate方法进行身份验证,获取用户ID。最后,我们调用search_read方法来获取数据,并输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值