通常,Linux 管理员们都使用 history 命令来跟踪在先前的会话中执行过哪些命令,但是 history 命令的局限性在于它不存储命令的输出。在某些情况下,我们要检查上一个会话的命令输出,并希望将其与当前会话进行比较。除此之外,在某些情况下,我们正在对 Linux 生产环境中的问题进行故障排除,并希望保存所有终端会话活动以供将来参考,因此在这种情况下,script 命令就变得很方便。
script 是一个命令行工具,用于捕获/记录你的 Linux 服务器终端会话活动,以后可以使用 scriptreplay 命令重放记录的会话。在本文中,我们将演示如何安装 script 命令行工具以及如何记录 Linux 服务器终端会话活动,然后,我们将看到如何使用 scriptreplay 命令来重放记录的会话。
安装 script 工具
在 RHEL 7/ CentOS 7 上安装 script 工具
script 命令由 RPM 包 util-linux 提供,如果你没有在你的 CentOS 7 / RHEL 7 系统上安装它,运行下面的 yum 安装它:
[root@linuxtechi ~]# yum install util-linux -y
在 RHEL 8 / CentOS 8 上安装 script 工具
运行下面的 dnf 命令来在 RHEL 8 / CentOS 8 上安装 script 工具:
[root@linuxtechi ~]# dnf install util-linux -y
在基于 Debian 的系统(Ubuntu / Linux Mint)上安装 script 工具
运行下面的 apt-get 命令来安装 script 工具:
root@linuxtechi ~]# apt-get install util-linux -y
如何使用 script 工具
直接使用 script 命令,在终端上键入 script 命令,然后按回车,它将开始在名为 typescript 的文件中捕获当前的终端会话活动。
[root@linuxtechi ~]# script Script started, file is typescript [root@linuxtechi ~]#
要停止记录会话活动,请键入 exit 命令,然后按回车:
[root@linuxtechi ~]# exit exit Script done, file is typescript [root@linuxtechi ~]#
script 命令的语法格式:
~] # script {options} {file_name}
能在 script 命令中使用的不同选项:
options-script-command
让我们开始通过执行 script 命令来记录 Linux 终端会话,然后执行诸如 w ,route -n ,df -h 和 free -h ,示例如下所示:
script-examples-linux-server
正如我们在上面看到的,终端会话日志保存在文件 typescript 中:
现在使用 cat / vi 命令查看 typescript 文件的内容,
[root@linuxtechi ~]# ls -l typescript -rw-r--r--. 1 root root 1861 Jun 21 00:50 typescript [root@linuxtechi ~]#
typescript-file-content-linux
以上内容确认了我们在终端上执行的所有命令都已保存在 typescript 文件中。
在 script 命令中使用定制文件名
假设我们要使用自定义文件名来执行 script 命令,可以在 script 命令后指定文件名。在下面的示例中,我们使用的文件名为 session-log-(当前日期时间).txt 。
[root@linuxtechi ~]# script sessions-log-$(date +%d-%m-%Y-%T).txt Script started, file is sessions-log-21-06-2019-01:37:39.txt [root@linuxtechi ~]#
现在运行该命令并输入 exit :
[root@linuxtechi ~]# exit exit Script done, file is sessions-log-21-06-2019-01:37:39.txt [root@linuxtechi ~]#
附加命令输出到 script 记录文件
(编辑:ASP站长网)
|