2013-05-02 55 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