Cygwin64 Terminal 记录命令及返回结果
一.修改 ~/.bashrc 中的配置
1.方法一:修改 ~/.bashrc 中的配置(多个cygwin64 terminal也会写入一个日志)
if [ -z "$SCRIPT_RUNNING" ]; then
export SCRIPT_RUNNING=1
LOG_DIR=~/terminal_logs
mkdir -p "$LOG_DIR"
script -a -f "$LOG_DIR/$(date +%Y-%m-%d).log"
exit
fi
2.方法二:修改 ~/.bashrc 中的配置(保证每个cygwin64 terminal窗口单独一个日志文件)
if [ -z "$SCRIPT_RUNNING" ]; then
export SCRIPT_RUNNING=1
LOG_DIR=~/terminal_logs
mkdir -p "$LOG_DIR"
# 日期 + 开启时间 + 进程ID,三重保证唯一
LOG_FILE="$LOG_DIR/$(date +%Y-%m-%d_%H%M%S)_$$.log"
export CURRENT_LOG="$LOG_FILE" # 方便随时查看当前日志路径
script -f "$LOG_FILE"
exit
fi
二.对记录的日志文件处理
1. 自动压缩旧日志
# 压缩7天前的日志(gzip后体积减少约70-80%)
find ~/terminal_logs/ -name "*.log" -mtime +7 -exec gzip {} \;
2.限制单个日志文件大小,写够50MB后不再写入
#用 ulimit 限制 script 子进程最大文件写入(#最大50MB):
(ulimit -f $((50*1024)); script -f "$LOG_FILE")

浙公网安备 33010602011771号