আমি tail
একাধিক রিমোট মেশিনে লগ ফাইলের চেষ্টা করছি এবং আউটপুটটিকে আমার স্থানীয় ওয়ার্কস্টেশনে ফরোয়ার্ড করছি। আমি চাইলে সংযোগগুলি বন্ধ হয়ে যায় Ctrl- C।
এই মুহুর্তে আমার কাছে নিম্নলিখিত ফাংশনটি রয়েছে যা প্রায় উদ্দেশ্য হিসাবে কাজ করে।
function dogfight_tail() {
logfile=/var/log/server.log
pids=""
for box in 02 03; do
ssh server-$box tail -f $logfile | grep $1 &
pids="$pids $!"
done
trap 'kill -9 $pids' SIGINT
trap wait
}
সংযোগ বন্ধ করুন এবং আমি থেকে আউটপুট গ্রহণ tail
। কিন্তু, সেখানে এক ধরণের বাফারিং চলছে কারণ আউটপুটটি ব্যাচে আসে।
এবং এখানে মজাদার অংশ…
নিম্নলিখিতটি সম্পাদন করার সময় আমি একই বাফারিং আচরণটি দেখতে পারি এবং /var/log/server.log
4-5 বার রিমোট মেশিনে ফাইলটিতে "পরীক্ষা" সংযোজন করি …
ssh server-01 "tail -f /var/log/server.log | grep test"
... এবং এটি অক্ষম করার দুটি উপায় খুঁজে পেয়েছে ...
Ssh- এ পতাকা যুক্ত করুন।
ssh -t server-01 "tail -f /var/log/server.log | grep test"
রিমোট কমান্ড থেকে উদ্ধৃতি সরান।
ssh server-01 tail -f /var/log/server.log | grep test
যাইহোক, এই পদ্ধতির কোনওটিই উপরে উল্লিখিত একাধিক মেশিনে চালিত ফাংশনটির জন্য কাজ করে না।
আমি dsh চেষ্টা করেছি, যা কার্যকর করার সময় একই বাফারিং আচরণ করে।
dsh -m server-01,server-02 -c "tail -f /var/log/server.log | grep test"
এখানেও, আমি যদি উদ্ধৃতিটি সরিয়ে ফেলি তবে বাফারিং চলে যায় এবং সবকিছু ঠিকঠাক হয়।
dsh -m server-01,server-02 -c tail -f /var/log/server.log | grep test
parallel-ssh
যা চেষ্টা করেছে ঠিক তেমন কাজ করে dsh
। এখানে কি চলছে কেউ ব্যাখ্যা করতে পারেন?
আমি কীভাবে এই সমস্যাটি সমাধান করব? ssh
সম্ভব হলে সোজা সাথে যেতে আদর্শ হবে ।
পিএস আমি ব্যবহার করতে চাই না multitail
বা অনুরূপ হতে চাই না কেননা আমি স্বেচ্ছাচারী আদেশগুলি কার্যকর করতে সক্ষম হতে চাই।
dbitail
এবং এখান থেকে ডাউনলোড করতে পারেন ।