2015-12-07 26 views
0

我有與巴曼進入華爾茲目錄中的問題 - 備份工具到PostgreSQL數據庫巴曼PostgreSQL的傳入瓦茲目錄

在我的數據庫服務器我在postgresql.conf中

wal_level = 'archive' 
archive_mode = on 
archive_command = 'rsync -a %p [email protected]:INCOMING_WALS_DIRECTORY/%f' 

在我的酒保服務器當我make命令「酒保顯示服務器myservername」我知道,我的incoming_wals_directory

/var/lib/barman/myservername/incoming 

命令barman check myservername返回「確定」,在所有的POI nts,但是當我想在命令barman backup myservername中進行備份時,我發現前3個點是正確的,但指出「要求PostgreSQL服務器完成備份」永遠不會結束。 我的錯誤在哪裏?

回答

1

我有這個問題,這是由於rsync的問題。 要檢查它是否適合你的情況下,嘗試進行rsync一個隨機文件:

rsync -zvh random_file [email protected]_host:/tmp/test

如果輸出是一樣的東西: protocol version mismatch -- is your shell clean?

那麼有2個可能的原因:

    1. rsync版本在兩臺服務器上不一樣
  • 一些文本輸出時使用ssh遠程服務器,rsync的不喜歡它

要解決的第一個問題,這裏是什麼我所做的:

  • 確保rsync --version是一樣的在兩臺機器上:

    • 在本地運行的env rsync --version
    • 從本地(遠程)運行ssh [email protected]_host "rsync --version"

(安裝了正確的版本,如果它們不匹配。)

要解決第二個問題,你必須添加的東西在你的.bashrc文件,以防止文本輸出非交互式會話ssh連接後(即「上次登錄:週四09月...」 - 這讓rsync的失敗)

我把我的.bashrc文件的頂部: case $- in *i*) ;; *) return;; esac

然後rsync的正常工作,並且初始barman backup命令finnishes以及

0

取代INCOMING_WALS_DIRECTORY你進入文件夾路徑,你可以找到使用此命令酒保顯示服務器主要

archive_command = 'rsync -a %p [email protected]:/var/lib/barman/main/incoming/%f' 

確保您更改INCOMING_WALS_DIRECTORY佔位符由上面的酒保顯示服務器的主要命令返回的值。

還要確保postgres用戶可以正確地ssh到酒保服務器。

+0

請提高這個答案 – Drew

相關問題