मैंने अपाचे को पुनरारंभ करने के लिए एक बैश स्क्रिप्ट लिखी और व्यवस्थापक को ईमेल भेज दिया। कोड नीचे दिखाया गया है। यदि अपाचे प्रक्रिया की संख्या शून्य है तो कोड अपाचे को पुनरारंभ करेगा। समस्या यह है: अपाचे कुछ समय लटकता है और प्रक्रियाएं अभी भी शून्य नहीं होती हैं, इसलिए इस मामले में स्क्रिप्ट अपाचे को पुनरारंभ नहीं करेगा। आवश्यक है: अगर मैं लटका हुआ है और प्रक्रिया शून्य नहीं है, तो अपाचे को पुनरारंभ करने के लिए मैं कोड को कैसे संशोधित करूं।स्वचालित रूप से अपाचे को पुनरारंभ करने के लिए bash स्क्रिप्ट
#!/bin/bash
if [ `pgrep apache2 -c` -le "0" ]; then
/etc/init.d/apache2 stop
pkill -u www-data
/etc/init.d/apache2 start
echo "restarting....."
SUBJECT="Apache auto restart"
# Email To ?
EMAIL="[email protected]"
# Email text/message
EMAILMESSAGE="apache auto restart done"
# send an email using /bin/mail
/bin/mail -s "$SUBJECT" "$EMAIL" "$EMAILMESSAGE"
fi
रोग, नहीं लक्षण को ठीक करें। आपको यह पूछना चाहिए कि अपाचे क्यों लटका रहा है (शायद सर्वरफॉल्ट में) और फिर इसे ठीक करें ... इसे लटकते समय इसे पुनरारंभ करने के लिए कैसे नहीं। – Juliano
आपने यहां पहिया को फिर से क्यों शुरू किया, /etc/rc.d या इसी तरह की स्टार्टअप स्क्रिप्ट्स (यूनिक्स/लिनक्स स्थापना के आधार पर) में पुनरारंभ करने की क्षमता है, लेकिन फिर, अपने त्रुटि लॉग जांचें कि आप क्यों हैं सर्वर को पुनरारंभ करना होगा, आमतौर पर /etc/rc.d/3/rc.httpd पुनरारंभ या समान ... – t0mm13b
हाय। जूलियानो आप सही हैं। मैं समस्या के मूल कारण की तलाश में हूं लेकिन मुझे लगता है कि इस तरह की स्क्रिप्ट एक "होना चाहिए" क्योंकि भविष्य में यह संभव है कि यह लटकाएगा और यह स्क्रिप्ट समस्या को अस्थायी रूप से हल करेगी। –