Answers:
准备开始记录日志文件时,键入:
script screen.log
现在,在停止脚本之前,终端中的所有输入和输出将存储在screen.log中。完成后,只需键入:
exit
您的screen.log文件将存储在本地目录中。如果要重定向它,请使用绝对路径名,例如~/screen.log
。这将完全满足您的需求。
man script
)甚至提到vi
(编辑)...
我有一个更好的方法来使用syslog记录每个shell命令,这在Linux发行版上可能有所不同,但是方法将保持不变
您需要执行以下步骤:
步骤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
这是一个日志示例:
12月7日22:13:00 Validationdb2 mahasan:root @ export [13291]:tail -f /var/log/mysql/mysql.log [0] 12月7日22:13:09validationdb2 mahasan:root @ export [13291]:ls -lh [0] 12月7日22:13:27validationdb2 mahasan:root @ export [13291]:触摸测试命令[0]