注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

PostgreSQL:关于 archive_command 归档命令  

2013-09-16 16:00:03|  分类: Postgres基础 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

             archive_command 是用来设置归档行为的命令,重要的库在存储空间允许的情况下会一直开启
归档,而有些相对不是很重要的库可能偶尔开启归档,对于第二种情况,应该如何编写 archive_command
命令呢?这里提供两种方式

一 方法一: 编写两条 archive_command 
 
    这种方法编写两条 archive_command 命令,不归档时启用 '/bin/date',真正需要归档时启用下面
 这条,如下:
   
--1.1 归档参数
 # - Archiving -

archive_mode = on               # allows archiving to be done
                                # (change requires restart)
archive_command = '/bin/date'   # (change requires restart)
#archive_command='cp %p /archive/pg93/%f'
 备注:这种归档的禁用或启用需要通过修改 postgresql.conf 文件来控制,并且修改之后还需要
            reload 操作,步骤较烦琐。
       
     
二 方法二:使用逻辑或运算
 
    看下面这个配置:

--2.1  归档参数
 # - Archiving -

archive_mode = on               # allows archiving to be done
                                # (change requires restart)
archive_command = 'test ! -f /archive/pg93/archive_active || cp %p /archive/pg93/%f'
 备注:这里使用了逻辑或运算,当文件标识 /archive/pg93/archive_active 存在时,则会运行之后的
            归档命令。逻辑或命令参考 2.3 的规则。

--2.2 查看归档目录
 [pg93@redhatB pg93]$ ll /archive/pg93
total 64M
-rw-------. 1 pg93 pg93 16M Sep 16 15:29 000000010000000100000077
-rw-------. 1 pg93 pg93 16M Sep 16 15:30 000000010000000100000078
-rw-------. 1 pg93 pg93 16M Sep 16 15:40 00000001000000010000007A
-rw-------. 1 pg93 pg93 16M Sep 16 15:49 00000001000000010000007C
-rw-rw-r--. 1 pg93 pg93   0 Sep 16 15:49 archive_active   -- 归档标识文件
  备注:归档标识文件 archive_active  需要手工创建

--2.3 逻辑或,逻辑与运算
1. 命令1 && 命令2    命令1执行成功后才会执行命令2 
2. 命令1 || 命令2    命令1执行失败后才会执行命令2

 备注:逻辑运算较第一种方法更为简洁,启用归档时只需 touch 一个标识文件,关闭归档时只需要删除
           标识文件即可,个人推荐这种方法。
          
          如果觉得逻辑运算比较难懂,也可以直接通过 shell 判断语句执行,简单粗暴:
          
--2.4 归档参数
 # - Archiving -

archive_mode = on               # allows archiving to be done
                                # (change requires restart)
archive_command = 'if [ -f "/archive/pg93/archive_active" ]; then cp %p /archive/pg93/%f; fi'   
 备注:这种方法脚本量稍多点。

--2.5 每天生成一个归档目录

archive_command = 'DIR=/pgarch/arch/`date +%F`; sudo test ! -d $DIR && sudo mkdir $DIR; sudo test ! -f $DIR/%f && sudo cp %p $DIR/%f'



三 参考


  评论这张
 
阅读(4373)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016