在命令行上记录一切 centos /fedora/ubuntu

在命令行上记录一切 centos /fedora/ubuntu

我们是全网络的 100% Linux 用户,我们昼夜不停地工作,换班时会发生什么,下一位管理员在那个时候轮班,出现什么问题,他都能解决问题,但他们只是从终端清除历史记录。如果我们想记录每个终端上他们为解决相同问题所做的事情,或者我们也可以监控,对于故障单,我们有内部 OTRS,他们会更新报告。

非常感谢

答案1

当我想记录根会话时我使用根什。如果要求管理员对所有命令使用 sudo,它也会记录所有命令。

你可以看看屏幕因为它也可能完成您正在尝试做的事情。

最终,日志记录可能不是您工作流程的最佳情况。要求 motd、wiki 或简单的网站更新所有更改可能会更好。

答案2

看看我的历史记录功能看看它们是否可以适应您的需求。

我的日志文件中的几行典型内容可能如下所示:

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 版本、终端设备和 IP、日期和时间以及发出命令时的当前目录。第二行是cd使用命令且函数选项-t处于活动状态时生成的条目的示例。它显示了上一个和新的工作目录。

要进行设置:

  • 函数来源
  • 设置变量
    hcmntextra='date "+%Y%m%d %R"'
  • 设置变量
    PROMPT_COMMAND='hcmnt -eityl ~/.hcmnt.log "$LOGNAME@$HOSTNAME Bash-${BASH_VERSION%.*}"'

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

该函数带有几个可选开关。其中一个可能令人感兴趣-l。使用它,命令将被写入日志文件。您可以访问grep该文件并复制和粘贴需要重新运行的命令。如果省略该开关,注释行将写入 shell 的历史记录,可以使用 Bash 的历史记录操作功能调用和重用它们。注释位于注释字符之后,这意味着您可以按原样重用命令,注释将被忽略。

答案3

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

script -a ticketnum.txt然后执行您需要执行的操作ctrl+d停止录音,并将生成的文件附加到票证上。我相信这可以通过一些脚本自动完成。

答案4

您可能对以下内容感兴趣shell_sink用于记录和注释你的 shell 历史记录。

相关内容