अपस्टार्ट मेरी नई स्क्रिप्ट नहीं देख रहा है


27

मैं एक नई स्क्रिप्ट में शामिल किया है /etc/init/कहा जाता है minecraft.confजो स्क्रिप्ट में शामिल हैं:

start on startup
stop on shutdown
respawn
respawn limit 20 5

script
  export HOME="/root"
  exec /root/minecraft/start.sh 2>&1 >> /var/log/minecraft.log
end script

post-start script
   echo "minecraft started"

जब मैं कोशिश करता start minecraftहूं तो मुझे त्रुटि मिलती है:start: Unknown job: minecraft

मैंने चलाने की कोशिश की है initctl listऔर मेरा मिनीक्राफ्ट नौकरी सूचीबद्ध नहीं है। मैंने दौड़ने की कोशिश की है initctl reload-configurationऔर इससे कोई फर्क नहीं पड़ता।

initctl listस्टार्ट, स्टॉप और रिस्टार्ट के साथ काम द्वारा सूचीबद्ध अन्य कार्य ।

मैं अपनी नई स्क्रिप्ट क्यों नहीं देखूंगा?



यह एक बेवकूफी भरा सवाल हो सकता है ... लेकिन आपकी स्क्रिप्ट में /etc/init.d/क्या होगा?
वोल्फ

@ धन्यवाद, लेकिन मैंने पहले ही पढ़ लिया है और मुझे अभी भी समस्या है।
जसारीन २४'१३

@Wolfer अपस्टार्ट के अनुसार गाइड शुरू हो रहा है, यह कहता है "एक बार खुश होने के बाद, फाइलों को अंदर रखें /etc/initऔर अब आप रिबूट और रिस्टार्ट का उपयोग करने के लिए तैयार हैं।"
जसारीन

मैंने समस्या को दोहराने की कोशिश की लेकिन कोई सफलता नहीं मिली। मैंने आपके कोड को /etc/init/minecraft.conf पर चिपकाया और sudo start minecraftबिना किसी समस्या के जारी किया । यहां लॉग फ़ाइल की सामग्री है ~$ sudo cat /var/log/upstart/minecraft.log minecraft started /proc/self/fd/9: 3: exec: /root/minecraft/start.sh: not found minecraft startedक्या आप उबंटू संस्करण पर अधिक विवरण प्रदान कर सकते हैं जो आप उपयोग कर रहे हैं और किसी भी उपयोगी जानकारी को syslog से?
गोरान मिस्कोविच

जवाबों:


12

/var/log/syslogकॉन्फ़िगरेशन का उपयोग करते हुए पुन: लोड करते समय अपस्टार्ट लॉग (यह है ) की जाँच करें initctl reload-configuration। यदि कोई सिंटैक्स त्रुटि है, तो यह वहाँ दिखाई देगा। इसलिए आमतौर पर आप अपने नए अपस्टार्ट कॉन्फ़िगरेशन का उपयोग नहीं कर सकते हैं।


11

अपनी स्क्रिप्ट सिंटैक्स की जाँच करने का एक आसान तरीका निम्नलिखित कमांड के साथ है:

init-checkconf -d /etc/init/service_name.conf

मैंने पाया है कि एक मान्य उपस्टार्ट फ़ाइल के साथ भी अगर फ़ाइल मौजूद नहीं थी जब सर्वर को अंतिम बार बूट किया गया था तो मुझे फ़ाइल देखने के लिए उपस्टार्ट के लिए सर्वर को रिबूट करना होगा।


9

मुझे लगता है कि विनम्र ... लेकिन यहाँ यह है:

मैं ऊपर की पटकथा के बहुत अंत से "अंत स्क्रिप्ट" श्लोक याद किया ...

post-start script
   echo "minecraft started"

होना चाहिये था

post-start script
   echo "minecraft started"
end script

मुझे यकीन नहीं है कि इसके बिना @schkovich के लिए काम क्यों किया end script, हालांकि ...


2
क्योंकि मैंने एंड स्क्रिप्ट श्लोक जोड़ा था। (मन) ऑटो कोड पूरा होने में निर्मित। :(
गोरान मिस्कोविक

मैं एक ही समस्या से टकराया, लेकिन वास्तव में, कुछ भी नहीं दिखता है / var / log और initctl reload-configuration --verbose चुप है।
नील मैकगिल

4

मेरे मामले में यह एक खाली authorक्षेत्र था, जैसे:

author ""

उद्धरणों में कुछ जोड़ने के बाद ही इसने काम किया।

# initctl reload-configuration

भी /etc/init/servicename.conf:2: Expected token stdout के बजाय syslog को फेंक रहा था । मरने वाले पैकेज के लिए बग रिपोर्ट दर्ज करने में बहुत व्यस्त।


3

शायद यह विशेष रूप से लागू नहीं है, लेकिन ध्यान देने योग्य है: यदि आप किसी ऐसी सेवा के लिए एक अपस्टार्ट कॉन्फिग फ़ाइल को संपादित करते हैं जो चल रही है, restartतो कॉन्फ़िगरेशन को फिर से लोड नहीं करना है। आपको चलना है stopऔर startनए बदलावों को प्रभावी बनाना है।

http://upstart.ubuntu.com/cookbook/#restart

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.