2013-05-02 27 views
2

我試圖通過bash廚師資源備份postgresql基礎。下面是我的代碼,即時通訊獲取以下錯誤。當我部署他們。任何想法爲什麼。廚師食譜中的無效多字節字符(US-ASCII)

$PGDATA = "node['fc_db']['postgres']['pg_data']" 

bash "backup master db" do 
user "postgres" 
code <<-EOH 
    initdb –D –-no-locale –-encoding=UTF8 
    pg_ctl –D #{$PGDATA} start 
    psql –c "SELECT pg_start_backup('initial backup for SR')" template1 
    tar cvf pg_base_backup.tar #{$PGDATA} 
    psql –c "SELECT pg_stop_backup()" template1 
EOH 
end 
+0

錯誤是:致命:食譜文件食譜/ pg.rb具有紅寶石語法錯誤: 致命:/食譜/wal-e.rb:8:無效多字節字符(US-ASCII) 致命錯誤:/recipes/wal-e.rb:7:語法錯誤,意外的$結束,期待tSTRING_CONTENT或tSTRING_DBEG或tSTRING_DVAR或tSTRING_END – colido 2013-05-02 05:31:12

回答

0

在代碼行:

initdb –D –-no-locale –-encoding=UTF8 

應該是:

initdb –D --no-locale --encoding=UTF8 
+2

所以相同應該是相同的? – CBroe 2013-05-03 08:30:23

+0

在--no-locale&----編碼= UTF8的行「 - 」上有變化,這使得解釋器無法理解該命令。 – colido 2013-05-06 03:28:38

+0

好吧,很難找到:-) – CBroe 2013-05-06 12:12:51

0

您正在使用哪個版本的Ruby?如果不是2.x.x,請嘗試在wal-e.rb的頂部添加# encoding: UTF-8

+0

我發現錯誤是在發佈命令中的「 - 」。謝謝回覆。 – colido 2013-05-03 08:12:08