终端录制与回放

linux shell 终端的录制与回放

最近有一个需求,在给一个H3C路由器排除问题的时候,启用debug模式,debug模式下,输出到屏幕的调试信息没有办法导出到文件,只能想办法试试看能不能从终端会话录制上实现。

终端的会话操作录制

1
2
3
4
5
6
script -t 2> timing.log -a output.session
type commands;

......
......
exit

exit退出录制。

两个配置文件被当做script命令的参数。这两个文件可以随便命名,这里用timing.log和output.session。其中timing.log用于存储时序信息,描述每一个指令在何时运行;output.session用于存储命令信息输出。-t选项用于将时序数据导入stderr。2>用于stderr重定向到timing.log。

录制回放

1
scriptreplay timing.log output.session

经验证,录制还是可以的。整个屏幕输出的内容存储在输出的output.session文件中,以文本打开,就可以直接查看之前录制回显的内容了。也可以方便后期回放温故。

script广播会话

以两个终端为例:

终端1操作

1
mkfifo scriptfifo

终端2操作

1
cat  scriptfifo

终端1操作

1
2
3
4
script -f scritpfifo
commands

......

exit退出。

此时,终端2上同步回显终端1上的操作内容。

屏幕录制操作结束。

补充一个H3C 屏幕回显debug信息的操作步骤,全程用户模式下操作:

1
2
3
4
debugging nat packet   //例如调试nat包信息
terminal debugging //打开调试信息的屏幕输出开关
display debugging //查看启用了哪些调试信息
termainal monitor //开启控制台对系统信息的监视功能

汇总结束,通过录制终端会话,来排查设备的debugging信息。设备debugging是比较消耗资源的一件事情,输出的信息也非常多,输出了非专业人员排查问题也是比较困难的。一般这个也就用于提交设备厂商售后分析了。今日份结束。


终端录制与回放
https://ywmy.xyz/2019/07/28/终端录制与回放/
作者
ian
发布于
2019年7月28日
许可协议