tendisplus是腾讯开源的kv中间件有一个回档的功能,主要是使用在dump目录下产生的binlog文件进行回档,我们的业务是不需要回档功能的,而且binlog占用的磁盘大小比我们的主要数据占用的都多,反而没有起到节约磁盘的目的,所以写了一个脚本来清理binlog文件,只保留最新的7个binlog文件,在你tendisplus集群启动的时候就可以启动起来,我们当前使用的是tendis2.4.3,后期更新版本可能会加上关闭这个功能的配置,但是在没有配置的情况下,就只能先定时执行脚本删除无用的binlog文件
nohup sh /usr/local/bin/del_binlog.sh > /usr/local/bin/del_binlog.log &
#!/bin/bash
dir=/tendisplus/store/dump/
ReservedNum=7
while true
do
for i in {0..9}
do
FileNum=$(ls $dir$i -rt|grep ^binlog| wc -l)
if [ "$FileNum" -gt "$ReservedNum" ] ;then
OldNum=$(($FileNum-$ReservedNum));
OldFile=$(ls $dir$i -rt| grep ^binlog|head -$OldNum)
echo $OldFile
cd $dir$i && rm -f $OldFile
fi
done
sleep 10m
done