আপনি যদি কেবল একটি সম্ভাবনার সন্ধান করেন এবং ব্যবহার করার চেয়ে 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