在命令行centos / fedora / ubuntu上logging一切

我们是networking上100%的Linux用户,我们一直在做工作,下一次pipe理员到那个时候会发生什么事情来解决问题,但他们只是从terminal清除历史。 如果我们希望在terminal上logging他们为解决相同的问题所做的一切,或者我们也可以监控,那么对于故障单,我们有内部的OTRS,他们更新报告。

谢谢

当我想logging根会话时,我使用rootsh 。 如果pipe理员需要使用sudo来执行所有的命令,它也会logging所有的命令。

你也可以看一下屏幕 ,因为它可能会完成你想要做的事情。

最终,日志logging可能不是您工作stream程的最佳状态。 要求更新所有更改的motd,wiki或简单网站可能会更好。

看看我的历史loggingfunction ,看看它们是否可以适应您的需求。

这就是我的日志文件中的几行典型代码:

 echo hello ### [email protected] Bash-4.0 /dev/pts/1 192.168.2.22 20100510 17:53 /home/user/test cd .. ### [email protected] Bash-4.0 /dev/pts/1 192.168.2.22 20100510 17:53 /home/user/test -> /home/user 

上面的第一行包括命令,注释标记,用户/主机,shell版本,terminal设备和IP,date和时间以及命令发布时的当前目录。 第二行是使用cd命令生成的条目示例,并且该函数的-t选项处于活动状态。 它显示了以前和新的工作目录。

设置:

  • 来源function
  • 设置variables
    hcmntextra='date "+%Y%m%d %R"'
  • 设置variables
      PROMPT_COMMAND ='hcmnt -eityl〜/ .hcmnt.log“$ LOGNAME @ $ HOSTNAME bash  -  $ {BASH_VERSION%。*}”' 

为文件select合适的位置并将上述步骤添加到~/.bashrc文件中。

该function需要几个可选开关。 有兴趣的可能是-l 。 有了它,命令被写入日志文件。 您可以grep该文件并复制并粘贴您需要重新运行的命令。 如果你省略了这个开关,那么注释行将被写入到shell的历史logging中,在那里它们可以被使用Bash的历史操作特性来调用和重用。 注释遵循注释字符的事实意味着您可以按原样重新使用这些命令,注释将被忽略。

这是一个手动选项。 尝试脚本命令。

script -a ticketnum.txt然后做你需要做的事情ctrl+d停止logging和生成的文件可以附加到票。 我确定这可以通过一些脚本自动化。

您可能对shell_sink有兴趣来logging和注释您的shell历史logging。