जवाबों:
जब आप लॉग फ़ाइल रिकॉर्ड करना शुरू करने के लिए तैयार हों, तो टाइप करें:
script screen.log
अब, जब तक आप स्क्रिप्ट को बंद नहीं करेंगे, टर्मिनल में सभी इनपुट और आउटपुट स्क्रीन.लॉग में संग्रहीत किए जाएंगे। जब आप कर रहे हैं, बस टाइप करें:
exit
आपकी screen.log फ़ाइल स्थानीय निर्देशिका में संग्रहीत की जाएगी। यदि आप इसे पुनर्निर्देशित करना चाहते हैं, तो जैसे एक निरपेक्ष पथनाम का उपयोग करें ~/screen.log
। यह वही करेगा जो आप ढूंढ रहे हैं।
man script
) में भी उल्लेख किया गया है vi
(संपादक) ...
मेरे पास हर शेल कमांड को लॉग करने के लिए syslog का उपयोग करने का एक बेहतर तरीका है, यह लिनक्स वितरण पर भिन्न हो सकता है लेकिन विधि समान रहेगी
आपको कुछ चरणों का पालन करने की आवश्यकता है:
चरण # 1 (Syslog सेवा बनाएं)
# vim /etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
चरण # 2 (खुले bashrc और कमांड के नीचे दर्ज करें)
# 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]"'
Ste # 3 (पुनः आरंभ करें Syslog सेवा)
# /etc/init.d/rsyslog
यहाँ एक लॉग नमूना है:
7 दिसंबर 22:13:00 सत्यापन 2 महासन: रूट @ निर्यात [13291]: पूंछ -f /var/log/mysql/mysql.log [0] 7 दिसंबर 22:13:09 सत्यापन 2 महासन: रूट @ निर्यात [13291]: ls -लह [0] 7 दिसंबर 22:13:27 सत्यापन 2 महासन: रूट @ निर्यात [13291]: स्पर्श परीक्षण कमान [0]