GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan resep Chef untuk menambahkan beberapa baris ke file konfigurasi

Seperti yang Anda katakan sendiri, pola Chef yang disarankan adalah mengelola seluruh file.

Jika Anda menggunakan Chef 11, Anda mungkin dapat menggunakan sebagian untuk apa yang ingin Anda capai.

Ada info lebih lanjut di sini dan di buku masak contoh ini.

Selama Anda memiliki akses ke template konfigurasi asli, cukup tambahkan <%= render "original_config.erb" %> ke bagian atas parms_to_append.conf Anda templat.


Seperti yang dikatakan sebelumnya, menggunakan templat dan sebagian adalah cara yang umum untuk melakukan ini, tetapi koki mengizinkan menambahkan file, dan bahkan mengubah (mengedit) baris file. Lampiran dilakukan menggunakan fungsi berikut:

  • insert_line_after_match(regex, baris baru);
  • insert_line_if_no_match(regex, baris baru)

Anda dapat menemukan dan memberi contoh di sini di stackoverflow, dan dokumentasi lengkap di rubydoc.info

Harap gunakan dengan hati-hati, dan hanya jika sebagian dan template tidak sesuai.


Saya melakukan sesuatu seperti ini:

monit_overwrites/templates/default/monitrc.erb:

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

Dalam resep saya, saya melakukan ini:

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. Bagaimana Cara Menghapus Beberapa Baris Acak Dari File Teks Menggunakan Sed?

  2. Hitung Baris Dalam File?

  3. Mengubah banyak baris menjadi satu baris yang dipisahkan koma

  1. Mengunduh file dengan wget menggunakan banyak koneksi

  2. Masukkan beberapa baris ke dalam file setelah pola yang ditentukan menggunakan skrip shell

  3. Bagaimana cara memilih beberapa baris dari file atau dari pipa dalam skrip?

  1. Masukkan beberapa baris data ke file setelah pola cocok menggunakan skrip shell Linux

  2. Bagaimana Cara Menambahkan Beberapa Baris Ke File?

  3. Temukan dan ganti teks dalam file di antara rentang baris menggunakan sed