আপনি যদি কেবল একটি সম্ভাবনার সন্ধান করেন এবং ব্যবহার করার চেয়ে awk
বা খোলের মধ্যেই বেশিরভাগের মধ্যে থাকতে চান তবে আপনি এর perl
মতো কিছু করতে পারেন:
tail -F /path/to/serverLog |
grep --line-buffered 'server is up' |
while read ; do my_command ; done
... যা my_command
প্রতিবার চলবে " সার্ভার শেষ " লগ ফাইলে উপস্থিত হবে। একাধিক সম্ভাবনার জন্য, আপনি সম্ভবত ড্রপ করতে পারেন grep
এবং পরিবর্তে এর case
মধ্যে একটি ব্যবহার করতে পারেন while
।
রাজধানী -F
বলে tail
আবর্তিত করা লগ ফাইল জন্য ঘড়ি; উদাহরণস্বরূপ, যদি বর্তমান ফাইলটির নাম পরিবর্তন হয় এবং একই নামের অন্য কোনও ফাইলের স্থান হয়, tail
তবে নতুন ফাইলটিতে স্যুইচ হবে।
--line-buffered
বিকল্প বলে grep
যে লাইন পর তার বাফার ঘনিষ্ঠরূপে; অন্যথায়, my_command
সময়মতো ফ্যাশনে পৌঁছানো যাবে না (ধরে নেই লগগুলিতে যুক্তিসঙ্গত আকারের লাইন রয়েছে)।
tail -F
লগ রোটেশন পরিচালনা করতে অবশ্যই ভুলবেন না - যেমনmy.log
পূর্ণ হয়ে যায় এবং এতে চলে আসেmy.log.1
এবং আপনার প্রক্রিয়াটি একটি নতুন তৈরি করেmy.log