Linux┊使用script录制终端会话

Category : 工作学习 / Tags : , / Date : 2009.03.29 / /

script真是一个神奇的小家伙,别看它小不起眼,可是却足够的好玩。script能够将终端的会话过程录制下来,然后使用scriptreplay就可以将其录制的结果播放给他人观看。script 的好处就在于,你在终端中的所有操作过程,它都可以原原本本地进行录制。试想一下,我们可以将这种录制应用在很多方面,诸如教学、演示等等。

一般来说,script和scriptreplay在Linux发行版中都有默认安装。 以上两个命令都属于Linux产品util-linux软件包的一部分,有些linux发行版有script命令但没有scriptreplay命令,scriptreplay命令其实就是一个perl脚本(这意味着录制下的内容在windows也能播放(只要是一个支持ANSI控制码的终端就能再现,cmd下有些乱码)
  
A、安装util-linux工具包(以Tarball编译)

#wget ftp://ftp.kernel.org/pub/linux/utils/util-linux/util-linux-2.12r.tar.bz2
#tar xjvf util-linux-2.12r.tar    
#cd util-linux-2.12r
#./configure && make && make install       #这一步我做的时候发现可以略掉。因为scriptreplay是个perl脚本可直接用
cp util-linux-2.12r/misc-utils/scriptreplay.pl /usr/bin/scriptreplay
# chmod 755 /usr/bin/scriptreplay

注:主要用做提取scriptreplay.pl

B、使用方法:

录制会话:
script -t 2> tutorial.timing -a tutorial.session

会话和时序分别保存到两个文件。通过这两个文件,你可以使用scriptreplay播放录制的终端会话。该指令中的 -t 选项指明输出录制的时间数据, -t 2>example.time   -t是把时间数据输出到标准错误(standard error)所以我们使用 2>example.time 把数据转向到 example.time这个文件当中。而 -a 选项则输出录制的文件。你可以将指令中的 tutorial换成自己设置的名称。当终端中返回“Script started, file is demo.session”的信息时,你就可以进行需要录制的操作了。

执行此命令后开始在后台记录,将结果保存到指定文件,直至输入exit退出。 若不指定保存文件名(没有-a选项),默认将保存到当前目录下的typescript文件。 若增加-q选项,则以静默模式运行,即开始或结束录制时不显示提示信息。若使用的增加-a选项,文件名已存在的情况下可以以追加的方式保存记录结果。使用cat可以查看录制的结果文件,但是vi编辑器中的操作可能无法显示,需要借助scriptreplay播放查看。

输入'exit'结束录制。

播放会话:
scriptreplay tutorial.timing tutorial.session

会话和时序文件都是可读的,如果不需要播放,只需:

srcipt -a tutorial.txt

注:使用script时,不要使用交互式程序或处理窗口的程序,如vior top。它们会破坏会话的输出结果。

C、一些实例

c1、使用script工具记录输出到当前终端的信息

script /tmp/scr.rec
 
c2、使用script记录终端信息的同时记录时间信息(需结合标准错误输出)

script -t 2> scr.rec.time -a scr.rec
 
c3、使用scriptreplay播放带时间控制的script记录内容

scriptreplay scr.rec.time scr.rec        #//若省略第2个参数,则默认查找typescript文件

c4、通过script实现远程用户交流

前提大家远程连到同一台机器上

mkfifo /tmp/scriptout    #定义个命名管道
script -f /tmp/scriptout  #然后把你的script输出指向到定义的命名管道
cat /tmp/scriptout #连接到的终端里面的其它用户可通过查看此命名管道看到你在终端上的操作

c5、用脚本实现单文件录制和播放

通常需要播放都必须要两个文件(会话和时序),这个脚本实现了只产生一个文件,录制和播放都比较方便。

录制:

./script.sh -r

播放:

./script.sh -p

获得script.tar.gz并尝试,记得从tar包解压出来后需chmod +x使该脚本可执行。



无觅相关文章插件,快速提升流量

Comments

There are no comments.

Leave a Reply

You must be logged in to post a comment.

传奇 似水流年 绽放 风筝 八月照相馆