Saya ingin memuat ulang (tidak memulai ulang!) Sekelompok layanan pada suatu acara.
Misalnya, jika saya memperbarui sertifikat SSL saya, saya ingin setiap layanan yang menggunakannya memuat ulang ( nginx
dan postfix
muncul dalam benak). Saya juga tidak ingin mengingat layanan mana di server yang diberikan menggunakan sertifikat SSL. Seharusnya cukup agar mereka dikelompokkan ketika mereka dikonfigurasi.
Di sisi lain, saya ingin menghindari mengubah .service
file yang disediakan dengan paket, karena ini akan memerlukan intervensi manual selama pembaruan.
Bagaimana saya mencapainya?
Ada opsi untuk menghentikan sekelompok layanan berdasarkan permintaan , tetapi ini akan membuat mereka tidak dapat diakses selama satu atau dua detik, atau lebih buruk - mereka mungkin tetap down sampai diperbaiki. Saya tidak mampu membelinya.
/opt/letsencrypt/letsencrypt-auto renew --pre-hook "service nginx stop; service postfix stop; service squid stop" --post-hook "service nginx start; service postfix start; service squid start"
juga: certmonger memiliki perintah untuk menyimpan dan menyimpan.service
mengedit file sebagai override, Anda dapat menghindari masalah pembaruan.sudo systemctl edit foo.service
akan menyimpan perubahan Anda/etc/systemd/system/foo.service.d/override.conf
daripada mengubahfoo.service
file yang diinstal .Jawaban:
Buat
/etc/systemd/system/ssl-reload.target
dengan konten berikut.Kemudian buat file lain:
/etc/systemd/system/ssl-reload.path
Kemudian:
Dengan itu, setelah mengubah sesuatu di direktori SSL Anda, layanan yang diinginkan harus dimuat ulang secara otomatis.
Jika Anda tidak ingin perilaku otomatis, maka jangan gunakan
.path
file, dan hanya masalahsystemctl reload ssl-reload.target
secara manual setelah Anda mengubah file SSL.sumber