बैश चल: ऊपर की जाँच करें, एक प्रक्रिया चलाने के लिए करता है, तो नहीं चल रहाबैश:, जाँच के लिए एक प्रक्रिया चलाने के लिए नहीं है, तो
हाय, मेरे आवश्यकता है कि, अगर Memcache सर्वर उत्पादन में किसी भी कारण से नीचे है, मैं चाहता हूँ उसे पुन: प्रारंभ करने के लिए तुरंत
आमतौर पर मैं प्रतिकृति के साथ कोई भी नहीं के रूप में उपयोगकर्ता के साथ इस तरह से Memcache सर्वर शुरू कर देंगे के रूप में नीचे
memcached -u कोई भी नहीं -l 192.168.1.1 -m 2076 -x 192.168.1.2 -v दिखाए
तो इस के लिए मैं crontab में एक प्रविष्टि इस तरह से जोड़ा
(crontab -e)
*/5 * * * * /home/memcached/memcached_autostart.sh
memcached_autostart.sh
#!/bin/bash
ps -eaf | grep 11211 | grep memcached
# if not found - equals to 1, start it
if [ $? -eq 1 ]
then
memcached -u nobody -l 192.168.1.1 -m 2076 -x 192.168.1.2 -v
else
echo "eq 0 - memcache running - do nothing"
fi
मेरा प्रश्न memcached_autostart.sh अंदर है, के लिए memcached सर्वर autorestarting, उपरोक्त स्क्रिप्ट के साथ कोई समस्या है ??
या
यदि इस को प्राप्त करने के लिए किसी भी बेहतर दृष्टिकोण कृपया अपने अनुभव को साझा (बल्कि क्रॉन जॉब का उपयोग करने से) है।
मुझे लगता है कि मदद की वहाँ भी है एक समारोह 'daemon' कहा जाता है '/ etc/init.d/functions' में। वह runfile.pid का भी ख्याल रखता है। तो अपने ऑटोस्टार्ट स्क्रिप्ट से फ़ंक्शन फ़ाइल को स्रोत करना और डेमॉन फ़ंक्शन के माध्यम से अपने प्रोग्राम को कॉल करना एक अच्छा विचार है। – anishsane