如何以文本模式记录我的 Linux 终端会话,并在稍后进行共享或重放?
上次更新时间:2020 年 9 月 14 日
我想以文本模式记录我的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 终端会话或 SSH 会话,并在以后进行共享或重放。我该如何操作?
简短描述
您可以使用 script 命令将 SSH 或终端会话记录到文件中。如果需要帮助,可以运行 man script 命令来访问用户手册。
解决方法
记录会话
1. 打开 SSH 终端。将以下命令中的示例 IP 地址替换为您的 IP 地址或主机名。
$ ssh 198.51.100.0
2. 启动脚本会话。在以下命令中,-a 可启用追加模式,-t 可设置计时文件。
$ script -a -t timingfile.txt typescript.txt
3. 运行要记录的任何命令。系统将记录命令和任何输出。
4. 完成后,通过键入 exit 或按 Ctrl-D 退出脚本会话。
5. 名为 typescript.txt 和 timingfile.txt 的文件中包含所记录的数据。您可以根据需要共享这些文件。
重放会话
1. 将 typescript.txt 和 timingfile.txt 文件复制到 Linux(或 Unix)服务器或从同一服务器重放它们。
2. 立即使用以下命令显示 typescript.txt 文件的完整输出,没有丝毫延迟:
$ cat typescript.txt
3. 使用以下命令以正常时间重放此文件:
$ scriptreplay --timing=timingfile.txt typescript.txt
4. 使用以下命令重放带有时间因子的文件以实现更快速的重放:
$ scriptreplay --timing=timingfile.txt typescript.txt -d 10
注意:Linux 可执行文件 script 和 scriptreplay 默认情况下是预安装的,因此无需单独进行安装。如果您确实需要安装它们,请使用以下与您的操作系统相对应的命令:
Ubuntu 16 和 Ubuntu 18:
sudo apt install bsdutils
RHEL 6:
sudo yum install util-linux-ng
RHEL 7、Amazon Linux 1 和 Amazon Linux 2:
sudo yum install util-linux