问题描述
我们是网络上100%的Linux用户,我们昼夜不停地工作,接下来的班次轮班发生了什么变化,那时候所有管理员都会解决他所遇到的所有问题,但是他们只是清除终端的历史记录。如果我们想在终端上记录每个终端他们为解决相同问题所做的工作,或者我们也可以进行监视,那么对于故障单,我们有内部OTRS,它们会更新以进行报告。
谢谢吨
最佳思路
当我想登录根会话时,请使用rootsh。如果要求管理员对所有命令都使用sudo,它将同时记录所有命令。
您也可以看看screen,因为它可以完成您尝试做的事情。
最终,日志记录可能不是您工作流程的最佳选择。需要对所有更改进行更新的motd,Wiki或简单网站可能会更好。
次佳思路
看看我的history logging functions,看看它们是否可以适应您的需求。
这是我的日志文件中的几行典型内容:
echo hello ### user@host.tld Bash-4.0 /dev/pts/1 192.168.2.22 20100510 17:53 /home/user/test
cd .. ### user@host.tld Bash-4.0 /dev/pts/1 192.168.2.22 20100510 17:53 /home/user/test -> /home/user
上面的第一行包括命令,注释标记,用户/主机, shell 版本,终端设备和IP,日期和时间以及发出命令时的当前目录。第二行是使用cd
命令且功能的-t
选项处于活动状态时生成的条目的示例。它显示了先前和新的工作目录。
进行设置:
-
源函数
-
设置变量
hcmntextra='date "+%Y%m%d %R"'
-
设置变量PROMPT_COMMAND =’hcmnt -eityl〜/.hcmnt.log“ $ LOGNAME @ $ HOSTNAME Bash-$ {BASH_VERSION%。*}””
选择文件的适当位置,然后将上述步骤添加到您的~/.bashrc
文件中。
该功能需要几个可选开关。感兴趣的一个可能是-l
。使用它,命令被写入日志文件。您可以grep
将该文件复制并粘贴到re-run。如果您省略该开关,则将带注释的行写入 shell 的历史记录,在其中可以使用Bash的历史记录操作功能来调用它们并重新使用它们。注释后面带有注释字符的事实意味着您可以使用re-use命令as-is,并且注释将被忽略。