আমি যা অর্জন করতে চাই:
আমি তারিখ অনুসারে একটি সিস্টেম লগ ফাইল ফিল্টার করতে চাই, অর্থাৎ যখন আমি এটি করি:
$ cat /var/log/syslog | grep -i "error\|warn\|kernel"
এটি শেষ তিন দিনের জন্য এইগুলির মতো লাইনগুলি মুদ্রণ করে বলুক:
(...)
Apr 3 06:17:38 computer_name kernel: [517239.805470] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s0: link becomes ready
(...)
Apr 4 19:34:21 computer_name kernel: [517242.523165] e1000e: enp0s25 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
(...)
Apr 5 09:00:52 computer_name kernel: [517242.523217] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s25: link becomes ready
কীভাবে গ্রেপ করবেন (নির্বাচন করুন বা ফিল্টার করুন):
- তারিখ অনুসারে?
- তারিখ দ্বারা + ঘন্টা?
আমি যা চেষ্টা করেছি:
$ cat /var/log/syslog | grep -i "Apr 5" | grep -i "error\|warn\|kernel"
এটা তোলে হিসাবে প্রত্যাশিত কাজ syslog
ফাইল, কিন্তু না kern.log
উদাহরণস্বরূপ ফাইল, যা শুধুমাত্র আয়: Binary file (standard input) matches
। এবং আমি যখন tail
এই নির্দিষ্ট ফাইলটি দেখতে পাই তখন syslog
ফাইলের চেয়ে একই শুরু তারিখের ফর্ম্যাটটি দেখতে পাব ।
প্রশ্ন:
kern.log
ফাইলের মতো অন্যান্য লগগুলিতে কীভাবে এটি অর্জন করবেন ?
এছাড়াও, ফিল্টার করা কি সম্ভব:
- তারিখের পরিসীমা দ্বারা?
- তারিখ দ্বারা + ঘন্টা পরিসীমা?
ইঙ্গিত: যদি সম্ভব হয় তবে "মনে রাখা সহজ কমান্ডগুলি" দিয়ে।