【发布时间】:2026-02-16 13:25:02
【问题描述】:
我正在使用 chef 脚本来安装 mongo,配置复制并运行一些数据库初始化脚本 (load("initializeScript.js"))
Mongo 现在安装没有任何问题,但是为了配置副本成员,我需要打开 mongo shell 并运行如下命令:
rs.initiate() and rs.add("SERVER DETAILS")
我正在尝试这样做
mongo_shell_command = 'mongo -ssl --sslPEMKeyFile ' +node['mongo']['ssl']['dir'] +node['hostname'] + '.pem --sslCAFile ' + node['mongo']['ssl']['dir'] + node['mongo']['cert'] + ' --sslAllowInvalidHostnames'
execute 'mongo_shell' do
command mongo_shell_command
end
execute 'mongo_replicaSet' do
command "mongo --eval rs.execute()"
only_if { ::File.exist?(node['mongo']['config']) }
end
execute 'initialize_db' do
command "mongo --eval \"load(\"initializeScript.js\")\""
cwd node['mongo']['script']['dir']
end
但这失败了。
有没有其他方法可以使用 chef 打开 mongo shell 并执行这些命令
【问题讨论】:
标签: mongodb chef-infra chef-recipe cookbook mongo-shell