मैं एक घटना पर सेवाओं के एक समूह को फिर से लोड करना ( पुनः आरंभ नहीं करना चाहता !) चाहता हूं ।
उदाहरण के लिए, यदि मैं अपने एसएसएल प्रमाणपत्रों को अद्यतन करता हूं, तो मैं चाहता हूं कि प्रत्येक सेवा जो उन्हें पुनः लोड ( nginxऔर postfixदिमाग में आए) का उपयोग करे। न तो मैं याद रखना चाहता हूं कि किसी दिए गए सर्वर पर कौन सी सेवाएं एसएसएल प्रमाणपत्र का उपयोग करती हैं। उन्हें कॉन्फ़िगर किए जाने पर उन्हें समूहीकृत करने के लिए पर्याप्त होना चाहिए।
दूसरी ओर, मैं .serviceपैकेज के साथ प्रदान की गई फ़ाइलों को बदलने से बचना चाहूंगा , क्योंकि अपडेट के दौरान मैन्युअल हस्तक्षेप की आवश्यकता होगी।
मैं इसे कैसे पूरा करूं?
अनुरोध पर सेवाओं के एक समूह को रोकने के लिए एक विकल्प है , लेकिन यह उन्हें एक या दो या कई बार के लिए दुर्गम बना देगा - वे तय होने तक नीचे रह सकते हैं। मैं यह बर्दाश्त नहीं कर सकता।
.serviceफ़ाइल संपादन को ओवरराइड करते हैं तो आप अद्यतन समस्या से बच सकते हैं। स्थापित फ़ाइल को बदलने के बजाय sudo systemctl edit foo.serviceअपने परिवर्तनों को संग्रहीत करेगा । /etc/systemd/system/foo.service.d/override.conffoo.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"सेरेट्स की तैनाती करते हैं, लेकिन यहां भी सबसे अधिक स्वचालित नवीनीकरण के लिए एक पूर्व-हुक और पोस्ट-हुक भी है: सर्टिफॉगर में पोस्ट्सवे और प्रेस्वे कमांड हैं