使用系统内置script和scriptreplay命令来记录操作记录

时间:2022-04-28
本文章向大家介绍使用系统内置script和scriptreplay命令来记录操作记录,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

想要记录整个操作流程,需要使用到两个工具,script和scriptreplay,实验环境是CentOS6.6,默认都是安装的!

script命令用来记录整个历史操作流程,但是必须得使用相应的参数和固定的格式。

[root@wy-xxb ~]# script -t 2> test.time -a test.out                                        指定一个时间戳文件和命令输出文件(-a表示追加) Script started, file is test.out

接下来你就可以做自己想要做的操作了,整个操作过程都会记录在test.out文件,知道使用exit或者ctrl+d退出。会保留两个文件(time和out)

退出提示:

    [root@wy-xxb ~]# exit
    Script done, file is test.out

scriptreplay命令用来动态显示历史操作记录,其实可以理解为无声的MV了。

[root@wy-xxb ~]# scriptreplay test.time test.out                                注意,时间戳文件和命令输出文件位置不能反

当历史操作播放完毕后会自动退出!

那么,问题来了~

        很多人会问到,这个除了好玩之外,还有什么用处吗?我想说,只要好玩,有意思,那用处是必须有的啊!

比如说。。。。。。。。。。

你可能让你的工程师或者某个人远程访问你的系统,要确保你的工程师正在干正确的事,你可以记录下他在你系统上的所作所为。要让script命令在登录时自 动运行,我们可以把它添加进shell环境配置文件中。这样在出现什么误操作之后,你就可以使用scriptreplay命令查看是哪些误操作造成的,以免及时的恢复应用。

[root@wy-xxb test]# vim /etc/profile
if [ $UID -ge 500 ];then
   exec /usr/bin/script -qaf -t 2> /var/log/test/$USER-$UID-`date +%Y%m%d%H%M`.time -a /var/log/test/$USER-$UID-`date +%Y%m%d%H%M`.out
fi

[root@wy-xxb test]# ssh xxb@localhost                           模拟登录到远程用户,并进行相应操作

会看到,在/var/log/test/目录下生成相应的文件

[root@wy-xxb test]# ll /var/log/test/*
-rw-rw-r--. 1 xxb xxb 1075 Apr 15 14:21 /var/log/test/xxb-500-201504151419.time
-rw-rw-r--. 1 xxb xxb 3331 Apr 15 14:21 /var/log/test/xxb-500-201504151419.out

播放远程操作记录

[root@wy-xxb test]# scriptreplay xxb-500-201504151419.log xxb-500-201504151419.out