系统版本:CentOS 7.6.1810
内核版本:3.10.0-957.el7.x86_64
软件服务(录制):script
软件服务(回放):scriptreplay
实现让用户登陆自动启动录制功能:
# 创建目录
mkdir -p /data/ops/recording_log/
# 编写配置文件
vim /etc/profile
script -t -f -q 2>/data/ops/recording_log/$USER-`date +'%Y%m%d-%H%M%S'`.time -a /data/ops/recording_log/$USER-`date +'%Y%m%d-%H%M%S'`.his
# 防止exit退出时要输入两次exit才能退出登陆状态
if [[ "$SHLVL" = 1 ]]; then
exit
fi
参数说明:
-t:记录操作时序
2>:将输出的时序存到指定文件中,回放时用到此时间文件
-f:每次写完后刷新输出。如果需要在输出到日志文件的同时,也可以查看日志文件的内容,可以使用 -f 参数。PS:可以用于教学,两个命令行接-f可以实时演示
-q:可以使script命令以静默模式运行,不提示以下输出内容
![]()
-a:输出录制的文件,在现有内容上追加新的内容
编写清理日志脚本,每天定时清理,反正数据过多
vim clean_log.sh
#!/usr/bin/env bash
# 只保留7天的数据
find /data/ops/recording_log/ -type f -mtime +6 | xargs rm -f
# 添加定时任务
0 3 * * * bash /data/ops/crond/clean_log.sh &> /dev/null
查看回放
scriptreplay root-20220608-105327.time root-20220608-105327.his