gpt4 book ai didi

chef-infra - 了解 Chef only_if not_if

转载 作者:行者123 更新时间:2023-12-03 10:13:25 25 4
gpt4 key购买 nike

我不确定我是否理解 Chef 条件执行。

我想根据 Postgresql 中是否存在数据库来做一些条件执行

所以这是我的例子

execute "add_db" do
cwd "/tmp"
user "dbuser"
command "createdb -T template_postgis mydb"
not_if 'psql --list|grep mydb'
end

运行 psql --list|grep mydb如果 db 存在(带有 dbname 条目的行),则返回您期望的内容,如果不存在,则返回任何内容。

那么 not_if 如何只评估它呢?对或错? 1 还是 0?如果成功,不是所有进程都返回 0 吗?

任何人的任何建议将不胜感激!

最佳答案

我刚刚遇到了这个问题。我的问题是 not_if 命令以“root”而不是“dbuser”身份运行。如果你把它改成

not_if 'psql --list|grep mydb', :user => 'dbuser'

那么你可能会得到你想要的结果。

http://tickets.opscode.com/browse/CHEF-438

关于chef-infra - 了解 Chef only_if not_if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8392973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com