আমি 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.log4-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এবং এখান থেকে ডাউনলোড করতে পারেন ।