#!/bin/bash
# 保留的文件数量
KEEP_COUNT=20
# 待清理的目录
TARGET_PATH=/usr/local/skywalking/logs
FILE_COUNT=$(find ${TARGET_PATH} -type f | wc -l)
# 当待清理的目录文件数量大于要保留的数量时才进行清理
if [ ${FILE_COUNT} -gt ${KEEP_COUNT} ]; then
ls -lt ${TARGET_PATH} | tail -n $((`find ${TARGET_PATH} -type f | wc -l` - ${KEEP_COUNT})) | awk '{print $NF}' | xargs -i rm -f ${TARGET_PATH}/{}
fi