0

我想安装已知的 ssh 主机密钥,然后重新启动 openssh 服务。对于一个文件,它很简单:

file 'new_file' do
  owner 'owner'
  mode 00600
  content 'my content'
  notifies :restart, 'service[openssh]', :immediately
end

但我想在移动两个文件后这样做。

我可以:

  1. 依次创建文件;在第二个上下文中重新启动 openssh。
  2. 将两个文件移动都包装在一个ruby​​_block资源中,该资源具有自己的 openssh 通知。

我不是 100% 确定 #2 会按照我想要的方式工作,而且 #1 也不会“感觉”正确。我是否保证第一个文件创建会在第二个文件创建之前发生?

所以我的问题是:对于 Chef,在创建两个新文件后重新启动 ssh 的最佳方法是什么?

4

1 回答 1

2

如果您对两个文件都进行了重新启动并且不使用:immediately,Chef 会将两次重新启动排队并在客户端运行的最后阶段执行一次重新启动。除非您有其他想法,否则在:immediately重新启动 ssh 守护程序时可能不需要使用它。

此外,Chef 保证资源将按照它们在您的配方中出现的顺序进行处理,因此第一个文件将始终在第二个文件之前创建。

于 2013-09-20T21:01:32.103 回答