Barman postgresql传入WALs目录
Barman postgresql incoming WALs directory
我在 Barman 中遇到传入 WAL 目录的问题 - postgresql 数据库的备份工具
在我的数据库服务器中 postgresql.conf
wal_level = 'archive'
archive_mode = on
archive_command = 'rsync -a %p barman@mybarmanserverip:INCOMING_WALS_DIRECTORY/%f'
在我的酒保服务器中,当我发出命令 "barman show-server myservername" 时,我得到,我的 incoming_wals_directory
是
/var/lib/barman/myservername/incoming
命令 barman check myservername
return "OK" 在所有方面,但是当我想在命令 barman backup myservername
中进行备份时,我看到前 3 点是正确的,但点 "Asking PostgreSQL server to finalize the backup" 永无止境。
我的错误在哪里?
将 INCOMING_WALS_DIRECTORY
替换为您可以使用此命令 barman show-server main
找到的传入文件夹路径
archive_command = 'rsync -a %p barman@mybarmanserverip:/var/lib/barman/main/incoming/%f'
确保将 INCOMING_WALS_DIRECTORY
占位符更改为上面酒保 show-server 主命令返回的值。
还要确保 postgres 用户可以正确地通过 ssh 连接到酒保服务器。
我遇到了这个问题,这是由于 rsync 引起的问题。
要检查是否适合您,请尝试 rsync 一个随机文件:
rsync -zvh random_file user@remote_host:/tmp/test
如果输出类似于:
protocol version mismatch -- is your shell clean?
那么有两个可能的原因:
- 两台服务器上的rsync版本不一样
- ssh 到远程服务器时会输出一些文本,rsync 不喜欢
为了解决第一个问题,我是这样做的:
确保 rsync --version
在两台机器上相同:
- 在您的本地环境中 运行
rsync --version
- 从本地(到远程)运行
ssh login@remote_host "rsync --version"
(如果不匹配请安装正确的版本。)
要解决第二个问题,您必须在 .bashrc
文件中添加一些内容,以防止在非交互式会话中通过 ssh 连接后输出文本(即 "Last login: Thu Sep..." - 它会导致 rsync 失败)
我把它放在我的 .bashrc 文件的顶部:
case $- in
*i*) ;;
*) return;;
esac
然后 rsync 工作正常,初始 barman backup
命令完成得很好
我在 Barman 中遇到传入 WAL 目录的问题 - postgresql 数据库的备份工具
在我的数据库服务器中 postgresql.conf
wal_level = 'archive'
archive_mode = on
archive_command = 'rsync -a %p barman@mybarmanserverip:INCOMING_WALS_DIRECTORY/%f'
在我的酒保服务器中,当我发出命令 "barman show-server myservername" 时,我得到,我的 incoming_wals_directory
是
/var/lib/barman/myservername/incoming
命令 barman check myservername
return "OK" 在所有方面,但是当我想在命令 barman backup myservername
中进行备份时,我看到前 3 点是正确的,但点 "Asking PostgreSQL server to finalize the backup" 永无止境。
我的错误在哪里?
将 INCOMING_WALS_DIRECTORY
替换为您可以使用此命令 barman show-server main
archive_command = 'rsync -a %p barman@mybarmanserverip:/var/lib/barman/main/incoming/%f'
确保将 INCOMING_WALS_DIRECTORY
占位符更改为上面酒保 show-server 主命令返回的值。
还要确保 postgres 用户可以正确地通过 ssh 连接到酒保服务器。
我遇到了这个问题,这是由于 rsync 引起的问题。 要检查是否适合您,请尝试 rsync 一个随机文件:
rsync -zvh random_file user@remote_host:/tmp/test
如果输出类似于:
protocol version mismatch -- is your shell clean?
那么有两个可能的原因:
- 两台服务器上的rsync版本不一样
- ssh 到远程服务器时会输出一些文本,rsync 不喜欢
为了解决第一个问题,我是这样做的:
确保
rsync --version
在两台机器上相同:- 在您的本地环境中 运行
rsync --version
- 从本地(到远程)运行
ssh login@remote_host "rsync --version"
- 在您的本地环境中 运行
(如果不匹配请安装正确的版本。)
要解决第二个问题,您必须在 .bashrc
文件中添加一些内容,以防止在非交互式会话中通过 ssh 连接后输出文本(即 "Last login: Thu Sep..." - 它会导致 rsync 失败)
我把它放在我的 .bashrc 文件的顶部:
case $- in
*i*) ;;
*) return;;
esac
然后 rsync 工作正常,初始 barman backup
命令完成得很好