Bir olay üzerine bir grup hizmeti yeniden yüklemek (yeniden başlatmak değil!) İstiyorum .
Örneğin, SSL sertifikalarımı güncellersem, bunları kullanan her hizmetin yeniden yüklenmesini ( nginx
ve postfix
akla gelmesini) istiyorum. Ayrıca, belirli bir sunucudaki hangi hizmetlerin SSL sertifikaları kullandığını hatırlamak da istemiyorum. Yapılandırıldıklarında gruplandırmaları yeterli olmalıdır.
Öte yandan, .service
paketlerle sağlanan dosyaları değiştirmekten kaçınmak istiyorum , çünkü bu güncellemeler sırasında manuel müdahale gerektirecektir.
Bunu nasıl başarabilirim?
Bir grup hizmeti istek üzerine durdurma seçeneği vardır , ancak bu bir veya iki saniye boyunca erişilemez veya daha kötüsü olur - düzeltilinceye kadar kalabilirler. Bunu karşılayamam.
.service
gibi dosya düzenlemeleri geçersiz kılma Eğer güncelleme sorunu önleyebilirsiniz. yüklediğiniz dosyayı değiştirmek yerine sudo systemctl edit foo.service
değişikliklerinizi saklar . /etc/systemd/system/foo.service.d/override.conf
foo.service
/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"
otomajik yenileme için bir ön kanca ve sonrası kanca da var: certmonger post- save ve preave komutları var