2012-11-10 7 views
5

बैश चल: ऊपर की जाँच करें, एक प्रक्रिया चलाने के लिए करता है, तो नहीं चल रहाबैश:, जाँच के लिए एक प्रक्रिया चलाने के लिए नहीं है, तो

हाय, मेरे आवश्यकता है कि, अगर 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, उपरोक्त स्क्रिप्ट के साथ कोई समस्या है ??

या

यदि इस को प्राप्त करने के लिए किसी भी बेहतर दृष्टिकोण कृपया अपने अनुभव को साझा (बल्कि क्रॉन जॉब का उपयोग करने से) है।

उत्तर

3

हाँ समस्या ps -eaf | grep 11211 | grep memcached मुझे लगता है प्रक्रिया ID जो हमेशा बदलता है पर हर शुरू है, तो आपको क्या करना चाहिए ps -ef | grep memcached

आशा व्यक्त की कि

3

इसे cron से चलाने के बजाय आप एक उचित init-script बनाना चाहते हैं। उदाहरण के लिए /etc/init.d/ देखें। साथ ही, यदि आप ऐसा करते हैं तो अधिकांश सिस्टमों में पहले से चलने वाली प्रक्रियाओं को शुरू करने, पुनरारंभ करने, रोकने, जांचने की जांच करने जैसी कार्यक्षमता होती है।

अधिकांश डेमॉन स्क्रिप्ट एक विशेष फ़ाइल में पिड को सहेजते हैं (उदाहरण के लिए /var/run/foo), और फिर आप उस फ़ाइल के अस्तित्व की जांच कर सकते हैं।

उबंटू के लिए, आप /etc/init.d/skeleton देख सकते हैं उदाहरण के लिए स्क्रिप्ट जिसे आप कॉपी कर सकते हैं।

+0

मुझे लगता है कि मदद की वहाँ भी है एक समारोह 'daemon' कहा जाता है '/ etc/init.d/functions' में। वह runfile.pid का भी ख्याल रखता है। तो अपने ऑटोस्टार्ट स्क्रिप्ट से फ़ंक्शन फ़ाइल को स्रोत करना और डेमॉन फ़ंक्शन के माध्यम से अपने प्रोग्राम को कॉल करना एक अच्छा विचार है। – anishsane

संबंधित मुद्दे