我有一个first question,但很明显,我做事情的方式是错误的,所以尝试这种新的方法。我正在创建一个systemd服务文件来运行该服务的多个示例:
if ( (node[:platform] == "redhat" && node[:platform_version] >= "7"))
cookbook_file "/usr/lib/systemd/system/[email protected]" do
source "usr/lib/systemd/system/[email protected]"
owner "root"; group "root"; mode "0644"
end
end
示例(和名称)的数量被配置到一个文件中,其中包含一个或多个条目,如:
OPTIONS_0="--conf=/etc/sec/oracle.sec --input=/var/log/oracle.log "
OPTIONS_1="--conf=/etc/sec/jboss.sec --input=/var/log/jboss.log "
现在,我需要启用与此文件中存在的OPTIONS_X一样多的服务。作为一个“机器人”,我会grep,但我认为在ruby中一定存在一种正确的方法来做到这一点,所以最终,它会运行:
service "sec@0" do action [:enable, :start] end
service "sec@1" do action [:enable, :start] end
[...]
service "sec@X" do action [:enable, :start] end
谢谢
1条答案
按热度按时间nqwrtyyt1#
由于服务列表的基础来自一个文件,因此bash/shell实用程序在获取所需的细节方面会更有效,即:选项的计数。这也意味着需要正确维护/更新此文件,以便此逻辑正常工作。
例如:
此计数可以存储在变量中,并且可以基于此启用/启动服务。