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") 

 

posted @ 2026-03-21 22:13  铿锵有力自信且坚定  阅读(0)  评论(0)    收藏  举报