सवाल एकाधिक रिमोट फाइलों की पूंछ


रिमोट पूंछ 2 फाइलों के लिए कोई रास्ता है?

मेरे पास लोड बैलेंसर के पीछे दो सर्वर (ए और बी) हैं और यदि संभव हो तो मैं ऐसा कुछ करना चाहूंगा:

tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log

धन्यवाद!


37
2018-02-13 00:10


मूल


आपने जवाब क्यों मिटा दिया? - Pablo Fernandez
ज्यादातर क्योंकि यह काम नहीं करता है :-) - mat
@mat ओह मैं बस कोशिश करने वाला था :)। फिर भी धन्यवाद! - Pablo Fernandez
यह काम नहीं करता है क्योंकि <(foo) निर्माण आंतरिक कमांड के लिए प्रतीक्षा करेगा समाप्त मूल कमांड लाइन में एक पाइप द्वारा प्रतिस्थापित करने से पहले, जिससे सॉफ्टवेयर पढ़ सकेगा, और पूंछ कभी खत्म नहीं होगा :-) - mat


जवाब:


यह मेरे लिए काम किया:

ssh -n user@hostname1 'tail -f /mylogs/log' &
ssh -n user@hostname2 'tail -f /mylogs/log' &

28
2018-02-13 01:06



हां, इस तरह मैं इसे करता हूं, सिवाय इसके कि मेरे पास आमतौर पर एकाधिक gnome-terminals खुले होते हैं, प्रत्येक के अंदर एक सत्र होता है - Tom O'Connor
क्या कई स्वतंत्र एसएसएच सत्र खोलने के बिना ऐसा करने का कोई तरीका है? - tgies
लेकिन यह आपको पूंछ को रोकने के लिए अनुमति नहीं देता है Ctrl+C। - sorin
प्रक्रियाओं को समाप्त करने के लिए @ सोरेन, बस प्रत्येक को अग्रभूमि में वापस लाएं fg; तब आप कर सकते हो ctrl+c यह। आप एक बार जब आप चल रहे प्रत्येक पूंछ के लिए ऐसा करेंगे। या आप कर सकते थे pkill -f sshउनमें से सभी को एक ही समय में लक्षित करने के लिए। - Dale Anderson


मेरा पसंदीदा विकल्प मल्टीटाइल के साथ जाना है। मैं कुछ ऐसा चलाऊंगा:

multitail -l 'ssh user@host1 "tail -f /some/log/file"' -l 'ssh user@host2 "tail -f /some/log/file"'

30
2018-05-08 11:42



धन्यवाद! मैं दूरस्थ उदाहरणों पर ssh / multitail पर multitail का उपयोग करने का उदाहरण ढूंढ रहा था! - Noah Sussman
मल्टीटाइल एक बहुत अधिक मजबूत समाधान है। - obfk
हमारी वेबसाइट में 10 से अधिक वेब नोड्स हैं, और त्रुटि के साथ पहली कोशिश में मल्टीटाइल विफल रहता है Operation not permitted, 2 3 वेब नोड्स के साथ, यह ठीक है - Hieu Vo
मुझे भी मिलता है Operation not permitted, कोई सुराग? - Erik Aigner


मैं सोच रहा था कि इसका उपयोग करना भी संभव हो सकता है:

ssh -f user@hostname1 "tail -f /var/log/file" > /tmp/somefile &
ssh -f user@hostname2 "tail -f /var/log/file" > /tmp/somefile &

Ssh के बाद -f विकल्प आपको पृष्ठभूमि में चलाने से पहले पासवर्ड दर्ज करने की अनुमति देता है। फिर आपके पास एक फ़ाइल में लाइन-दर-लाइन परिणाम हो सकते हैं और चल रहे हैं:

tail -f /tmp/somefile

यदि आप आउटपुट प्रदर्शित करने के लिए अन्य पूंछ विकल्पों का उपयोग करना चाहते हैं तो वर्तमान "पूंछ" कमांड पर आपको थोड़ा अधिक नियंत्रण मिलेगा।


6
2018-02-13 02:28





आप उपयोग कर सकते हैं कपड़ा कई मेजबान पूंछ (और यदि आवश्यक हो तो grep परिणाम भी):

$ fab -P -u 'USER' -p 'PASSWORD' --linewise -H host1,host2,host3 -- tail -f /path/to/my/log.log | grep ERROR

6
2018-02-07 18:08





चेक आउट stackoverflow पर यह जवाब - यह डीएसएच और पूंछ-एफ का उपयोग करता है।


5
2017-09-01 22:41





पर एक नज़र डालें multitail। उपर्युक्त उदाहरणों की तरह, आप इसे एसएसएच के लिए एक कमांड के रूप में दे सकते हैं, और फिर आप एकाधिक स्क्रीन प्रदर्शित करने के लिए एक स्क्रीन प्रदर्शित (और आसान स्क्रॉलबैक के लिए बफरिंग) के साथ समाप्त हो जाएंगे। यह रंग भी करता है, जो विसंगतियों को खोजने के लिए बहुत उपयोगी है।


5
2018-02-13 04:51





समांतर एसएसएच इसके लिए एक अच्छा समाधान है:

pssh -t0 -H 'host-01 host-02 host-03 host-04' -P tail -f /var/log/app.log
  • -t0 कनेक्शन टाइमआउट को अक्षम करता है, अन्यथा pssh कनेक्शन बंद कर देता है
  • -H '<host>...' आदेश चलाने के लिए मेजबानों की सूची है
  • -P प्रत्येक मेजबान के stdout मुद्रण सक्षम करने के लिए है
  • tail -f /var/log/app.log कोई भी आदेश हो सकता है कि आपका रिमोट खोल चलाया जा सके

2
2017-09-11 15:48





इस तरह के बारे में आप क्या कहेंगे? http://gist.github.com/303175


1
2018-02-13 01:15





आप चेकआउट dbitail कर सकते हैं।

एक जावा उपकरण जिसे मैंने बनाया है, एसएसएच का उपयोग कर स्थानीय और दूरस्थ लॉग फ़ाइलों को पढ़ने में सक्षम है। यह उपयोग करने के लिए काफी सरल है।

कुछ और स्पष्टीकरण: https://github.com/pschweitz/DBITail/wiki

बस अपने जावा रनटाइम के भीतर निष्पादन योग्य मूल जार रिलीज के अपने ऑपरेटिंग सिस्टम से संबंधित संस्करण डाउनलोड करें (जावा 8_40 या उच्चतम की आवश्यकता है):

https://github.com/pschweitz/DBITail/releases

आप एक पूर्ण दस्तावेज (एम्बेडेड और मैं गितूब के पेज को भी देख सकते हैं)

फिलिप


1
2017-07-01 20:10





बस एक अजीब समाधान, लेकिन यह काम करता है !:

स्क्रीन 1

ssh user@hostname1 "tail -f /var/log/file" > /dev/pts/6

स्क्रीन 2

ssh user@hostname2 "tail -f /var/log/file" > /dev/pts/6

0
2018-02-13 01:21