Linux 文件清理 保留指定数量的文件

#!/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

你可能感兴趣的:(linux,linux,运维,服务器)