2.4.?ux_archivecleanup

2.4.1. 用法
2.4.2. 描述
2.4.3. 选项
2.4.4. 注解
2.4.5. 示例

ux_archivecleanup — 清理UXDBWAL归档文件

2.4.1.?用法

ux_archivecleanup [option...] archivelocation oldestkeptwalfile

2.4.2.?描述

ux_archivecleanup被设计用作archive_cleanup_command在作为后备服务器运行时来清理WAL文件归档。ux_archivecleanup也可以被用作一个单独的程序来清理WAL文件归档。

要配置一个后备服务器以使用ux_archivecleanup,把下面 的内容放在recovery.conf配置文件中:

archive_cleanup_command = 'ux_archivecleanup archivelocation %r'

其中archivelocation是要从中移除WAL段文件的目录。

当被用在archive-cleanup-command中时,所有逻辑上在 %r参数的值之前的WAL文件都将被从 archivelocation移除。这能最小化需要被保留的文件数量, 同时能保留崩溃后重启的能力。如果对于这台特定的后备服务器, archivelocation是一个短暂需要的区域,使用这个参数就是 合适的,但是当archivelocation要用作一个长期的WAL归档 区域或者当多个后备服务器正在从这个归档位置恢复时,使用这个参数就 合适。

当被用作一个单独的程序时,所有逻辑上在oldestkeptwalfile 之前的WAL文件将被从archivelocation中移除。在这种模式 中,如果指定了.partial或者.backup文件名,则 只有该文件前缀将被用作oldestkeptwalfile。这种对 .backup文件名的处理允许你移除所有在一个特定基础备份之前归 档的WAL文件而不出错。例如,下面的例子将移除所有比WAL文件名 000000010000003700000010老的文件:

ux_archivecleanup -d archive 000000010000003700000010.00000020.backup

ux_archivecleanup:  keep WAL file "archive/000000010000003700000010" and later
ux_archivecleanup:  removing file "archive/00000001000000370000000F"
ux_archivecleanup:  removing file "archive/00000001000000370000000E"

ux_archivecleanup假定archivelocation是一个可读的目录并且对于服务器拥有者是可写的。

2.4.3.?选项

ux_archivecleanup接受下列命令行参数:

-d

stderr上打印很多调试日志输出。

-n

stdout上打印将被移除的文件的名字(执行一次演习)。

-V
--version

打印ux_archivecleanup版本并退出。

-x extension

提供一个扩展名,在决定所有的文件 是否应该被删除之前,将从文件名中剥离这个扩展名。这通常有助于清理已经 存储期间被压缩过并且被压缩程序增加了一个扩展名的归档。例如: -x .gz

-Z

使用分布式文件系统(UXFS)。

-?
--help

显示ux_archivecleanup命令行参数的帮助并退出。

2.4.4.?注解

ux_archivecleanup以 C 写成并且具有很容易修改的 源代码,其中有特别指定的区域用于修改以符合你的需要。

2.4.5.?示例

在 Linux 或者 Unix 系统上,你可能会用:

archive_cleanup_command = 'ux_archivecleanup -d /mnt/standby/archive %r 2>>cleanup.log'

其中归档目录位于后备服务器上,这样archive_command通过 NFS 来访问它,但是文件对于后备服务器来说是本地的。这将会:

  • cleanup.log中产生调试输出;

  • 从归档目录中移除不再需要的文件。

XML 地图 | Sitemap 地图