লগ ফাইলের কেবল শেষ এন লাইনগুলি কীভাবে পর্যবেক্ষণ করবেন?


110

আমার একটি ক্রমবর্ধমান লগ ফাইল রয়েছে যার জন্য আমি কেবল সর্বশেষ 15 টি লাইন প্রদর্শন করতে চাই । আমি জানি আমি যা করতে পারি তা এখানে:

tail -n 15 -F mylogfile.txt

লগ ফাইলটি পূর্ণ tailহওয়ার সাথে সাথে প্রদর্শনটিতে শেষ লাইনগুলি যুক্ত করে।

আমি এমন একটি সমাধান খুঁজছি যা কেবলমাত্র শেষ 15 টি লাইন প্রদর্শন করে এবং আপডেট হওয়ার পরে শেষ 15 এর আগে লাইনগুলি পরিত্রাণ পেতে পারে। আপনি একটি ধারণা আছে?


28
আপনার টার্মিনাল উইন্ডোটিকে 15 লাইনে আকার দিন।
জোনাথন


3
@ জোনাথন প্রতিভা!
মার্সেলাস ওয়ালেস

জোনাথনের মন্তব্যে উজ্জীবিত করা যায়নি বা এটি 15 টি উপভোগের স্বাদ হারিয়ে ফেলেছে
jordo

উত্তর:


151

এটি ঘড়ি ব্যবহারের জন্য যথেষ্ট:

tail দেখুন পুচ্ছ -n 15 mylogfile.txt

1
গ্রেট! অনেক ধন্যবাদ. প্রক্রিয়াটিতে আমি 'ওয়াচ' কমান্ডও শিখেছি।
মার্ক-অলিভিয়ার টিটেক্স

1
সচেতন হন যে ফাইলটি দুটি watchআপডেটের মধ্যে 15 টিরও বেশি লাইন বাড়লে এই সমাধানটি কাজ করে না । আপনি -nএই ব্যবধানটি পরিবর্তন করতে ব্যবহার করতে পারেন ।
bfontaine

25

আপনি যদি ঘড়ি ব্যবহার করেন -nতবে প্রতিটি আপডেটের মধ্যে অন্তরকে নিয়ন্ত্রণ করার বিকল্পটি ব্যবহার করে দেখুন ।

সুতরাং, নিম্নলিখিত প্রতি 2 সেকেন্ডে লেজ কল করবে

$ watch -n 2 tail -n 15 mylogfile.txt

যখন এটি প্রতি 1 সেকেন্ডে এটি পোল করে

$ watch -n 1 tail -n 15 mylogfile.txt

13

আপনি লগফিলটি কম চলমান এবং SHIFT + F টিপতে স্ট্রিম করতে পারেন যা ফাইলটি কম ব্যবহার করে প্রবাহিত করবে। $ less mylogfile.txt তারপরে কেবল SHIFT + F টিপুন এবং এটি প্রবাহিত হবে। আমি মনে করি এটি আপডেট হওয়া লগ ফাইলগুলি পর্যবেক্ষণের জন্য সুবিধাজনক।


1
এটা খুব সুন্দর!
কায়সার

8

হয়ত আপনি -dপরমকে কাজে লাগিয়েছেন।

man watch

-d পরপর আপডেটগুলির মধ্যে পার্থক্যগুলি হাইলাইট করুন। অপশনটি alচ্ছিক যুক্তি পড়বে যা পরিবর্তনগুলি স্থায়ী হতে হাইলাইট করে এবং প্রথম পুনরাবৃত্তির পরে কমপক্ষে একবার কী পরিবর্তন হয়েছে তা দেখার অনুমতি দেয়।



0

সোলারিস, এআইএক্স বা এইচপিইউক্স বা ইউএনআইএক্স-এর মতো (লিনাক্স সহ) আপনি লগগুলি বা এটির মতো কিছু পর্যবেক্ষণ করতে স্ক্রিপ্টগুলি ব্যবহার করতে পারেন:

while true; 
    clear; 
    do date; 
    echo ;
    echo "MONITORING LOG IN "/path/to/file.log": "; 
    echo "Obs.: Last 20 lines of a logfile:
    echo ;
    tail -20 /path/to/file.log;
    echo ;
sleep 5; 
done
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.