উত্তর:
আপনি যখন লগ ফাইল রেকর্ডিং শুরু করতে প্রস্তুত হন, টাইপ করুন:
script screen.log
এখন, আপনি স্ক্রিপ্টটি থামানোর আগ পর্যন্ত টার্মিনালের সমস্ত ইনপুট এবং আউটপুট স্ক্রিন.লগে সংরক্ষণ করা হবে। আপনার হয়ে গেলে, কেবল টাইপ করুন:
exit
আপনার স্ক্রিন.লগ ফাইল স্থানীয় ডিরেক্টরিতে সঞ্চয় করা হবে। আপনি যদি এটি পুনর্নির্দেশ করতে চান তবে একটি নিখুঁত পথের নাম ব্যবহার করুন ~/screen.log
। এটি আপনি যা খুঁজছেন ঠিক তা করবে।
man script
) এমনকি vi
(সম্পাদক) উল্লেখ করেছে ...
প্রতিটি শেল কমান্ড লগ করার জন্য আমার সিসলগ ব্যবহার করার আরও ভাল উপায় আছে এটি লিনাক্স বিতরণে ভিন্ন হতে পারে তবে পদ্ধতি একই থাকবে
আপনার কয়েকটি পদক্ষেপ অনুসরণ করতে হবে:
পদক্ষেপ # 1 (সিসলগ পরিষেবা তৈরি করুন)
# vim /etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
পদক্ষেপ # 2 (বাশার্ক খুলুন এবং নীচে কমান্ড লিখুন)
# vim /root/.bashrc
# Enable CLI Logging by Mansur 08-12-2016
whoami="$(whoami)@$(echo $SSH_CONNECTION | awk '{print $1}')"export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$whoami [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
স্টে # 3 (সিস্লগ পরিষেবা পুনরায় চালু করুন)
# /etc/init.d/rsyslog
এখানে একটি লগ নমুনা:
ডিসেম্বর 7 22:13:00 বৈধতা বিডি 2 মহাসান: মূল @ এক্সপোর্ট [13291]: লেজ -f /var/log/mysql/mysql.log [0] ডিসেম্বর 7 22:13:09 বৈধতা বিডি 2 মাহসান: মূল @ রফতানি [13291]: এলএস -এলএইচ [0] ডিসেম্বর 7 22:13:27 বৈধতা বিডি 2 মাহসান: রুট @ এক্সপোর্ট [13291]: টাচ টেস্ট কমান্ড [0]