SSH द्वारा लॉग इन करने पर अपस्टार्ट जॉब्स से आउटपुट कैसे प्राप्त करें?


10

यह देखने के लिए कि मेरी नौकरी की परिभाषाएं क्या कर रही हैं, मैं नौकरियों से पाठ आउटपुट देखना चाहूंगा। यह संभव नहीं लगता है जब मैं SSH के माध्यम से लॉग ऑन करता हूं।

मुझे नेटी 11.04 के साथ यह समस्या हो रही है, लेकिन मुझे विश्वास है कि यह अधिक सामान्य है।

एक साधारण नौकरी की फाइल जिसका मैं उपयोग करता हूं (फ़ाइल नाम /etc/init/test.conf):

description "test"
start on test
console owner
kill timeout 5
task
script
  /bin/echo Gotcha...
end script

मेरा लक्ष्य जब कर पाठ "पकड़ लिया ..." को देखने के लिए है initctl emit testया initctl start test। लेकिन वह काम नहीं करता है।

मैंने अब तक क्या प्रयास किया है:

  • "कंसोल ओनर" के बजाय "कंसोल आउटपुट"
  • स्क्रिप्ट के बजाय "एग्जीक्यूट / बिन / इको गोच ..." ... स्क्रिप्ट खत्म

जवाबों:


8

चूँकि init (pid 1) सेवा चला रहा है (जिसमें कोई stdout / stderr नहीं है) और आपका शेल नहीं है (जैसे /etc/init.d-स्टाइल स्क्रिप्ट के साथ), वर्तमान में उत्पन्न आउटपुट को देखने का कोई तरीका नहीं है। (यह सुविधा अक्सर अनुरोध की जाती है और उपस्टार्ट के लिए करने के लिए चीजों की सूची में है।)

इसके चारों ओर काम करने के लिए, मैं नौकरी के शुरू में ही उत्पादन पुनर्निर्देशन के लिए मजबूर करने की सलाह देता हूं:

script
    exec >/var/log/test.debug 2>&1
    echo Gotcha...
end script

16

12.04 तक (संभवतः इससे पहले), डिफ़ॉल्ट रूप से, अपस्टार्ट नौकरी से किसी आउटपुट के साथ / var / log / upstart / के तहत एक फ़ाइल में लॉग इन करेगा।

अपस्टार्ट का वर्तमान प्रलेखन (कुकबुक पर)

फिर आप उस फ़ाइल को सभी नए पाठ को देखने के लिए पूंछ सकते हैं जो फ़ाइल में लिखा जा रहा है

उदाहरण के लिए:

tail -f /var/log/upstart/test.log & # tail the output
initctl emit test
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.