উত্তর:
আপনার যদি এক মাসের চেয়ে বেশি ইতিহাসে ফিরে যেতে হয় তবে আপনি কমান্ডটি /var/log/wtmp.1দিয়ে ফাইলটি পড়তে পারেন last।
last -f wtmp.1 johnব্যবহারকারীর জন্য লগইনগুলির পূর্ববর্তী মাসের ইতিহাসটি প্রদর্শন করবে john।
শেষ লগ আউটপুট পার্স করা খুব ভারী এবং তুলনামূলক সহজ নয়, তাই আমি নির্দিষ্ট তারিখের প্যাটার্নটি সন্ধান করতে সম্ভবত আউটপুটটি গ্রেপ করতে পাইপ করব।
last john | grep -E 'Aug (2[0-9]|30) '20-30 আগস্ট দেখানোর জন্য। বা এর মতো কিছু:
last -f /var/log/wtmp.1 john | grep -E 'Jul (1[0-9]|2[0-9]|30) 'ব্যবহারকারীর জন্য 10-30 জুলাই অর্জন করতে john।
কীভাবে লিনাক্সে নির্দিষ্ট তারিখের জন্য লগইন ইতিহাস নিষ্কাশন করবেন?
25 থেকে 28 / আগস্ট পর্যন্ত সমস্ত ব্যবহারকারীদের লগইন করার একটি উদাহরণ:
last | while read line
do
date=`date -d "$(echo $line | awk '{ print $5" "$6" "$7 }')" +%s`
[[ $date -ge `date -d "Aug 25 00:00" +%s` && $date -le `date -d "Aug 28 00:00" +%s` ]] && echo $line
done
awk '{ print $5" "$6" "$7 }'lastআউটপুট থেকে সংশ্লিষ্ট কলামে তারিখের সময় বের করতে+%s ডেটটাইমকে যুগের সময় রূপান্তর করতে-ge এর চেয়ে বড় বা সমান হয়ে দাঁড়ান-le কম বা সমান জন্য দাঁড়ানোআপনি নির্দিষ্ট ব্যবহারকারীর সাথে এটি করতেও পারেন last <username>।
lastআউটপুটটি বেশ পঠনযোগ্য বলে গ্রেপ কি ক্লিনার হবে না ?
grep"15 ই আগস্ট 09:00" থেকে "আগস্ট 25 21:00" তে পারেন?