chef - レシピの基礎(3)
サービスの設定をする
サーバ類の起動・終了などをchef-clientで管理するには
service リソースを使います。
次の例では、mysqld をマシン起動時に自動起動させるようにし、
かつ、mysqldサーバを起動します。
service "mysqld" do action [:enable, :start] end
設定ファイルを修正した後にサーバを起動させる
通知機能 (notifies, subscribes) を使います。
次の例では my.cnf の更新されたときにmysqldを再起動させています。
template "/etc/my.cnf" do notifies :restart, "service[mysqld]" end service "mysqld" do action :nothing end
subscribes は、notifies と逆に動作します。
上の例を次のように書くこともできます。
template "/etc/my.cnf" do end service "mysqld" do action :nothing subscribe :restart, "template[/etc/my.cnf]" end
通知機能は、デフォルトではレシピの最後に実行(:delayed)されます。
ただし、すぐに実行させたい場合は :immediately を指定します。
template "/etc/my.cnf" do notifies :restart, "service[mysqld]", :immediately end