gpt4 book ai didi

chef-infra - 使用 Chef 时如何重新加载 systemd 服务

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

我有一个使用 Chef 管理的 systemd 服务。

执行 systemctl daemon-reload 的 Chef 方法是什么?

例如,如下所示,我可以重新加载我的服务,但这不会执行 systemctl daemon-reload。

template '/etc/systemd/system/myservice.service do
notifies :reload,'service[myservice]', :immediately
end

service 'myservice' do
supports status: true ...
action %i[start enable]
end

最佳答案

我们可以使用 systemd_unit resource 管理 Systemd 服务定义.这样,如果服务配置发生变化,它将通过 triggers_reload(默认设置为 true)属性触发重新加载。

由于您使用的是模板,因此您可以将 systemd_unit 资源与 reload 操作一起用于您的服务。

template '/etc/systemd/system/myservice.service' do
notifies :reload, 'systemd_unit[myservice.service]', :immediately
end

systemd_unit 'myservice.service' do
action :nothing
end

其他选项是创建一个execute 资源,并运行实际的daemon-reload 命令:

template '/etc/systemd/system/myservice.service' do
notifies :run, 'execute[daemon-reload]', :immediately
end

execute 'daemon-reload' do
command 'systemctl daemon-reload'
action :nothing
end

关于chef-infra - 使用 Chef 时如何重新加载 systemd 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64548592/

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