当前位置: 首页>>技术教程>>正文


linux – 在命令行上记录所有内容centos/fedora/ubuntu

, , ,

问题描述

我们是网络上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,并且注释将被忽略。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9852.html,未经允许,请勿转载。