- #!/bin/bash
- # Author: hubert
- # Crate Time: 2022-08-26
- # Description: tengine日志切割
- # 每天凌晨切割日志
- # Crontab: 0 0 * * * /bin/bash /data/app/tengine/scripts/tengine_cut_log.sh /data/app/tengine /data/logs/tengine >/dev/null 2>&1
-
- # tengine安装目录
- INNER_TENGINE_APP_DIR=$1
- # tengine日志目录
- INNER_TENGINE_LOG_DIR=$2
- HERE=$(cd -P -- $(dirname -- "$0") && pwd -P)
-
- # 获取日志文件
- LOGS=$(find $INNER_TENGINE_LOG_DIR -type f -name "access\.log" -o -name "error\.log" -o -name "admin-access\.log")
- DATE=$(date +%F -d "yesterday")
- for log in $LOGS; do
- DIR=$(dirname $log)
- LOG=$(basename $log)
- cd $DIR && mv $LOG $DATE.$LOG
- done
-
- # reload tengine,重新生产日志文件
- $INNER_TENGINE_APP_DIR/sbin/nginx -p $INNER_TENGINE_APP_DIR -s reload &>/dev/null
-
- # 删除7天前的文件
- find $INNER_TENGINE_LOG_DIR -type f -name "2*\.log" -mtime +7 | xargs rm -f