CLI操作的录制和回放
CLI(command-line interface),是指命令行界面。我们都知道在图形界面下可以有录屏软件Camtasia Studio,录屏大师等。可是在命令行界面下,录制视频,我也第一次听说。那么怎么实现呢?
script,一个神奇的命令
script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以将其录制的结果播放给他人观看。script 的好处就在于你在终端中的所有操作、敲过的命令和打印出的结果它都可以原原本本地进行录制。可以应用于教学、演示、审计。
Script可用于记录当前用户的操作记录,默认写在typescript文件中。
1、如何使用它
用法:usage: script [-a] [-f] [-q] [-t] [file]
参数:
-a:追加到输出文件
-f:输出到指定文件
-q:安静模式,不显示Script started…这些信息
-t:指定时间文件和日志文件,格式:-t time.log action.log,用于回放操作。
一般地,我们可以在终端上敲入script来启动它。
script
Script started, file is typescript
script -a test.log //即可将命令操作流程记录到test.log文件中
录屏和回放
script -t 2>time.log -a action.log //录屏开始,将时间文件放在time.log中,action.log存放操作记录
exit//退出录制
scriptreplay time.log action.log //录屏回放
2、应用
服务器安全审计
直接操作线上的服务器有很大隐患,所以一般都是通过登录跳板机,然后连接线上服务器,跳板机可以访问控制和安全审计,查看记录每个人对线上服务器的操作
用户家目录下,修改环境变量,使得用户登录就会触发录像
vi ~/.profile //若没有此文件,则可以新建此虚拟文件
script -t -f -q 2>/wow/$USER-$UID-`date +%Y%m%d%H%M%S`.time -a /wow/$USER-$UID-`date +%Y%m%d%H%M%S`.his
exit //由于没有执行此命令,所以生成的time文件大小一直是0,执行后,才将内存中的数据写入到此time文件中
scriptreplay *.time *.his //将*符号替换为指定文件,则回放录屏