跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 新手求助
  4. 【已解决】关于PostgreSQL的自动备份

【已解决】关于PostgreSQL的自动备份

已定时 已固定 已锁定 已移动 Odoo 新手求助
12 帖子 3 发布者 14.5k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • P 离线
    P 离线
    popkar77
    写于 最后由 编辑
    #1

    想请教一下大家,大家备份OpenERP的时候是用什么方式来进行备份。
    我在网上找了一下有使用批处理来进行
    但是我上网下载的似乎用不了[code]@echo off

    rem 功能:postgresql windows 平台 自动备份脚本
    rem 在备份目录d:backup下分月建立目录,在每月目录中保存当月的分天备份文件
    rem 在备份前在命令行执行echo %date% 确保日期格式是yyyy-mm-dd,如果不是的话,请到控制面板修改区域与语言选项中修改日期格式。
    rem 作者David Pan
    rem 日期:2009-02-19
    pause
    @set Filename=%date:~0,10%.backup
    @set Dirname=%date:~0,7%

    rem 如果当天是一号则新建新月份目录
    @if %date:~8,2% == 01 (md d:backup”%Dirname%”)

    rem 如果没有当月目录则新建当月目录
    @if not exist d:backup”%Dirname%” (md d:backup”%Dirname%”)

    rem 执行备份任务,备份databasename数据库,请将version换成你的pgsql版本,或者根据你的pg_dump文件所在位置修改。
    “%ProgramFiles%”PostgreSQLbinpg_dump.exe" -i -h localhost -p 5432 -U postgres -F c -b -v -f d:backup”%Dirname%%Filename%” db1

    pause
    rem 将备份文件打包成rar格式,并删除原始备份文件。(确保你已经安装了winrar,如果你没有安装在默认目录,请根据winrar文件的位置修改路径)
    @if exist d:backup”%Dirname%%Filename%” (”%ProgramFiles%”winrarwinrar a -df d:backup”%Dirname%%Filename%”.rar d:backup”%Dirname%%Filename%”)

    pause
    rem 自动删除三月前的备份,根据建立日期判断
    @if %date:~8,2% ==25 (for /f “skip=3″ %%a in (’dir /b/ad/o:-d d:backup’) do @if exist d:backup%%a rd /s /q d:backup%%a)

    @echo on
    [/code]因为本人也不是很熟悉批处理 ,希望大家帮忙,谢谢大家
    P.S 本人用的系统是winXP

    [[i] 本帖最后由 popkar77 于 2009-8-12 17:16 编辑 [/i]]

    1 条回复 最后回复
    0
    • mrshellyM 离线
      mrshellyM 离线
      mrshelly
      写于 最后由 编辑
      #2

      看懂原理了,也就不难做了.

      他的原理就是,利用 pg_dump PostgreSQL 自带命令行工具 进行数据库导出.(SQL文本文件)

      导出后,按 年月日命名,并保存到指定文件夹下.

      按这个思路,你用你最熟悉的语言,写一个脚本来处理就行了..

      1 条回复 最后回复
      0
      • P 离线
        P 离线
        popkar77
        写于 最后由 编辑
        #3

        其实现在我的问题就是[code]
        “%ProgramFiles%”PostgreSQLbinpg_dump.exe" -i -h localhost -p 5432 -U postgres -F c -b -v -f d:backup”%Dirname%%Filename%” db1
        [/code]这句执行不了
        总是说我密码错误

        [[i] 本帖最后由 popkar77 于 2009-7-2 11:53 编辑 [/i]]

        1 条回复 最后回复
        0
        • mrshellyM 离线
          mrshellyM 离线
          mrshelly
          写于 最后由 编辑
          #4

          pg_dump -h127.0.0.1 -p5432 -Uopenpg -fd:test.sql testdb
          Password:输入密码就OK了.
          AllInOne 默认密码是 openpgpwd

          1 条回复 最后回复
          0
          • digitalsatoriD 离线
            digitalsatoriD 离线
            digitalsatori 管理员
            写于 最后由 编辑
            #5

            实际上pg客户端连接认证有很多方式,设置的文件是pg_hda.conf.
            使用最简单的password认证,又不想每次输入命令都输入密码的方法是在Windows的$APP_DATA目录下(即在C:Document and SettingUserNameLocal SettingApplication Datapostgresql) 创建pg_pass.conf,并按以下格式记录相关连接信息:

            hostname:port:database:username:password 
            

            【上海先安科技】(tony AT openerp.cn)

            1 条回复 最后回复
            0
            • P 离线
              P 离线
              popkar77
              写于 最后由 编辑
              #6

              我没有C:Document and SettingUserNameLocal SettingApplication Datapostgresql
              postgresql这个文件夹,我自己创建了之后呢发现还是需要输入密码

              1 条回复 最后回复
              0
              • digitalsatoriD 离线
                digitalsatoriD 离线
                digitalsatori 管理员
                写于 最后由 编辑
                #7

                你不会是没有替换UserName为你的windows用户名吧

                【上海先安科技】(tony AT openerp.cn)

                1 条回复 最后回复
                0
                • mrshellyM 离线
                  mrshellyM 离线
                  mrshelly
                  写于 最后由 编辑
                  #8

                  UserName 是指你的登陆用户.

                  如果你的用户是 Administrator 那就 是
                  C:Document and SettingAdministratorLocal SettingApplication Datapostgresql

                  没有这个文件夹创建 一个就行了.

                  另: 你也可以把 pg_pass.conf 直接放到 PostgreSQLbin 文件夹下.

                  1 条回复 最后回复
                  0
                  • P 离线
                    P 离线
                    popkar77
                    写于 最后由 编辑
                    #9

                    我在两个地方都放了依然是需要输入密码

                    1 条回复 最后回复
                    0
                    • mrshellyM 离线
                      mrshellyM 离线
                      mrshelly
                      写于 最后由 编辑
                      #10

                      啊...辞海里肯定有解释 RPWT 嘛..

                      找个 PostgreSQL 的 dba 问一下...

                      1 条回复 最后回复
                      0
                      • P 离线
                        P 离线
                        popkar77
                        写于 最后由 编辑
                        #11
                        :lol

                        找到另外的解决方法啦。
                        在bat文件里面
                        [code]
                        password=XXXX
                        [/code]
                        就可以不用输入密码啦~

                        1 条回复 最后回复
                        0

                        • 登录

                        • 没有帐号? 注册

                        • 登录或注册以进行搜索。
                        • 第一个帖子
                          最后一个帖子
                        0
                        • 版块
                        • 标签
                        • 热门
                        • 用户
                        • 群组