我正在尝试使用win7中的git-bash来使用chef omnibus安装程序。我尝试了以下几种方法:
$ curl -L https://opscode.com/chef/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6506 100 6506 0 0 59
我正在尝试递增该值,并在recipe中动态地使用另一个资源,但仍然无法实现。
Chef::Log.info("I am in #{cookbook_name}::#{recipe_name} and current disk count #{node[:oracle][:asm][:test]}")
bash "beforeTest" do
code lazy{ echo #{node[:oracle][:asm][:test]} }
end
ruby_block "test current disk count" do
blo
我正在尝试迭代在特定月份创建的目录。例如,在下面的屏幕截图中(它显示了我想要迭代的当前工作目录中的一组目录),我只想迭代在“Jul”中创建的目录(本质上是最后5个目录)。
我尝试了下面的代码,但是它遍历了所有的元素,比如日期,日期,时间等等。
for dir in `ls -l <dir> | grep 'Jul'`
do
dir=${dir%*/}
echo ${dir##*/}
done
谁能给我解释一下厨师是怎么工作的吗?这是一个非常广泛的问题,所以为了缩小范围,我有一个非常简单的食谱,它循环一个用户列表,如果用户还不存在,就创建每个用户。它不起作用。
据我所知,循环似乎正在发生,正如我所预料的。一旦循环完成,就会执行bash命令来创建每个用户,对循环中的每个迭代执行一次。但是,在执行bash命令时,它们似乎只具有来自第一个循环迭代的用户值。
编写类似于本示例的变量数据的配方的正确方法是什么?
下面是食谱:
node[:users].each do |user|
puts "in loop for #{user['username']}"
症状:在Chef Server 11用户界面(UI)中,当单击用户上的"Edit“链接(即:‘hxxp://chef.example.com/ user /admin/编辑’)时,会显示以下错误:
ERROR: No such file or directory - /opt/chef-server/embedded/service/gem/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/locale/en.yml
检查服务器的文件系统可以发现/opt/chef-server/embedded/service/gem/ru
我使用了execute资源或bash资源。
两者的结果是一样的:
bash 'Execute my script' do
user 'root'
cwd '/mydir'
code <<-EOH
./myscript.sh
EOH
end
execute 'Execute my script' do
user 'root'
cwd '/mydir'
command './myscript.sh'
end
我看到的唯
我正在编写一个bash脚本,它应该执行以下操作:对于以Event_*开头的每个目录,(在cat eventList中),将cd放到目录中,如果文件*.mcp中存在字符串"ZJ.ROT“,我希望将文件"ROT”复制到另一个目录。简单地说:循环目录:如果该目录中的文件中存在字符串"ZJ.ROT“,则将另一个文件从该目录输出到另一个目录。
#!/bin/bash
mkdir newdire
for dir in `cat eventList`; do
cd $dir
pwd
if grep "ZJ.KNYN" *.mcp; then
cp "ROT&
当我试图在“厨房”中运行任何命令时,我收到以下错误:
bash: /mnt/c/opscode/chefdk/bin/kitchen: C:/opscode/chefdk/embedded/bin/ruby.exe: bad interpreter: No such file or directory
当使用chefdk客户端时,它从外部集成bash工作,但我正在尝试从集成bash工作。
到目前为止,Chef实用程序命令,如'chef-client‘和’k刀‘似乎都是有效的。
我正在尝试将一个应用程序部署到一个新创建的EC2实例中(使用chef-solo和k刀-solo),就像我已经在Digital Ocean上做的那样,没有任何问题。
## once the EC2 instance is created and running
## from the console , I setup chef-solo
$> knife solo prepare ubuntu@ec2-XX-XX-XX-XX.eu-west-1.compute.amazonaws.com
## then I run the cookbook
$> knife solo cook
我想完成两件事: 1)清除所有没有意义的pid文件(如果elasticsearch没有运行),然后启动它;2)在继续之前检查ES是否已启动
现在,在Chef提供的开箱即用的和Ruby允许的之间,我只能想出一个伪代码,比如语法来实现它,但它不会运行,所以我需要一些帮助/建议来编写真正的东西。
(1)的伪码:
bash "start it up" do
user "root"
only_if { # pretty sure this syntax is all incorrect, any ideas to make it happen?
我正在用mac写一个bash脚本。现在我想建立一个图书管理员-厨师,
echo "installing the librarian-chef gem"
gem install librarian-chef
echo "librarian-chef installing cookbooks from the recipies"
librarian-chef install
然后运行它。这样剩下的bash脚本就可以完成了,但是我一直得到这个line 31: librarian-chef: command not found
所以我认为gem安装得很好,但是路径没有
我已经设置了一个bash脚本来标识一个进程,如果进程正在运行或没有相应地运行,那么就回显它。我的剧本:
#!/bin/bash
var1=$(ps -ef | grep -v grep | grep crond)
echo $var1
if [$var1]
then
echo "The Process is Running"
else
echo "The process is not running"
fi
我正在从Var1变量中获得输出,但是在我的“if-条件”时,代码仍然会因为以下错误而中断:
$ ./test.sh
spidmd07 3034 4649
我正在建立一个新环境,在这个环境中Chef节点必须以非根用户的身份运行chef-client。(我已经创建了一个对/etc/chef/具有rwx权限的chef-user,并且该client.rb指向每个的正确客户端密钥。)下面是我的测试食谱:
cron "clientrun2m" do
minute '*/2'
command "/bin/chef-client"
action :create
user "chef-user"
end
当我以chef-user身份登录到目标节点时,我尝试(未成功)执行chef-cl