Script

scriptscriptreplay两个命令在 Linux 发行版中都有默认安装。shell

 

录播屏幕操做:

# script -t 2>  time.file -a scriptfile
time.file是时序记录文件,记录了几秒执行的命令;
scriptfile是命令执行记录文件,记录下执行是哪些命令,这两个文件名称均可以自定义。

 

# script -q -t 2> time.file -a scriptfile
-q, - -quiet 参数能够使script命令以静默模式运行,不显示script启动和exit的命令,用户能够彻底察觉不到在录屏。
按下按下组合键 Ctrl+D 结束录制,执行exit命令也行。

 

# scriptreplay -d 10 time.file scriptfile
添加这个参数-d, –divisor number 能够调整播放速度的倍数(能够是小数:放慢)。
scriptfile文件记录了我每间隔1秒执行一个date命令的操做,如今加速10倍来播放看看效果(惋惜有的版本scriptreplay命令没有-d这个参数)。

 

同步演示:

使用端:
# script -f demo
-f, - -flush 每次操做后都当即刷新缓存。若是不设置这个选项,则不会实时写入文件,这个功能

 

演示端:
# scriptreplay -f demo

 

录制脚本执行过程:

# script -qa "file.out" -c "/root/hello.sh" 
# cat file.out 
-c, - -command 能够直接执行命令,而非是交互式的shell,能够直接传入一个脚本

 

自动触发监控用户登录的操做与实时监控:

# mkdir -p /var/log/user_record
# vi /etc/profile

# 在/etc/prifile文件追加登录时自动记录
script -t -f -q 2>/var/log/user_record/$USER-$UID-`date +%Y%m%d%H%M%S`.time -a /var/log/user_record/$USER-$UID-`date +%Y%m%d%H%M%S`.his
if [ "$SHLVL" = 1 ]; then
   exit
fi

 

if [ $UID -ge 0 ]; then
        exec /usr/bin/script -t 2>/var/log/script/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /var/log/script/$USER-$UID-`date +%Y%m%d%H%M`.log
fi
相关文章
相关标签/搜索