侧边栏壁纸
博主头像
路小飞博主等级

行动起来,活在当下

  • 累计撰写 72 篇文章
  • 累计创建 12 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

日志自动切割

路小飞
2024-07-08 / 0 评论 / 0 点赞 / 12 阅读 / 1171 字
#!/bin/bash

# 配置参数
LOG_FILE="access.log"
LOG_DIR="/home/webapp/logs"
BACK_LOG_DIR="/home/webapp/logs/logs_back"
MAX_SIZE=10485760  # 10MB
RETENTION_DAYS=14

# 检查日志文件大小
if [ -f $LOG_FILE ] && [ $(stat -c%s "$LOG_FILE") -ge $MAX_SIZE ]; then
  # 创建日志目录(如果不存在)
  mkdir -p $BACK_LOG_DIR

  # 移动并压缩当前日志文件
  TIMESTAMP=$(date +%Y%m%d%H%M%S)
  cd $LOG_DIR
  tar -zcvf logfile-$TIMESTAMP.log.gz $LOG_FILE &> /dev/null
  mv logfile-$TIMESTAMP.log.gz $BACK_LOG_DIR

  # 删除日志文件
  rm -rf $LOG_DIR/$LOG_FILE
  # 重新创建日志文件
  touch $LOG_FILE
fi

# 删除超过两周的日志文件
find $BACK_LOG_DIR -name "*.gz" -type f -mtime +$RETENTION_DAYS -exec rm -f {} \;
0

评论区