这个脚本的主要功能就是读取配置文件,然后根据需求保留备份的个数(备份的文件是以时间格式命名的),删除最老的备份,以下是脚本内容:
#!/bin/bash
KEEP_NUM=2
for i in `cat /opt/sh/delete_backup.conf`
do
CURRENT_NUM=`ls -l ${i} | grep -v total | wc -l`
for((j=${CURRENT_NUM};j>${KEEP_NUM};j--))
do
FILE_NAME=`ls ${i} | sort -n | head -n 1`
echo "删除的目录是: ${i}/${FILE_NAME}"
cd ${i} && [ -d ${FILE_NAME} ] && rm ${FILE_NAME} -rf && sleep 1
done
done
delete_backup.conf的内容是删除的目录
/opt/sh/testdir/a
/opt/sh/testdir/b