GNU/Linux >> Znalost Linux >  >> Linux

Použití receptu Chef k připojení více řádků do konfiguračního souboru

Jak jste sami řekli, doporučeným vzorem šéfkuchaře je spravovat celý soubor.

Pokud používáte Chef 11, pravděpodobně byste k tomu, čeho se snažíte dosáhnout, mohli použít dílčí části.

Zde a v této ukázkové kuchařce je více informací.

Pokud máte přístup k původní šabloně konfigurace, stačí připojit <%= render "original_config.erb" %> na začátek vašeho parms_to_append.conf šablony.


Jak již bylo řečeno, použití šablon a částí je běžný způsob, jak toho dosáhnout, ale šéfkuchař umožňuje připojování souborů a dokonce i změnu (úpravu) řádků souboru. Appendind se provádí pomocí následujících funkcí:

  • insert_line_after_match(regulární výraz, nový řádek);
  • insert_line_if_no_match(regulární výraz, nový řádek)

Můžete najít a příklad zde na stackoverflow a úplnou dokumentaci na rubydoc.info

Používejte jej prosím opatrně a pouze v případě, že části a šablony nejsou vhodné.


Udělal jsem něco takového:

monit_overwrites/templates/default/monitrc.erb:

#---FLOWDOCK-START
set mail-format { from: [email protected] }
#---FLOWDOCK-END

V mém receptu jsem udělal toto:

monit_overwrites/recipes/default.rb:

execute "Clean up monitrc from earlier runs" do
  user "root"
  command "sed '/#---FLOWDOCK-START/,/#---FLOWDOCK-END/d' > /etc/monitrc"
end

template "/tmp/monitrc_append.conf" do
  source "monitrc_append.erb"
end

execute "Setup monit to push notifications into flowdock" do
  user "root"
  command "cat /tmp/monitrc_append.conf >> /etc/monitrc"
end

execute "Remove monitrc_append" do
  command "rm /tmp/monitrc_append.conf"
end

Linux
  1. Jak odstranit více náhodných řádků z textového souboru pomocí Sed?

  2. Jak připojit více řádků k souboru?

  3. Jak zkopírovat soubor do více adresářů pomocí příkazu gnu cp

  1. Jak připojit obsah více souborů do jednoho souboru

  2. Jak připojit k souboru v C pomocí Otevřít v režimu O_APPEND na linuxu?

  3. Jak zakomentovat více řádků v konfiguračním souboru Linuxu?

  1. Vložte více řádků dat do souboru po shodě vzorů pomocí skriptu prostředí Linux

  2. Počítat řádky v souboru?

  3. Použití ocasu ke sledování souboru bez zobrazení nejnovějších řádků