shell 遍历目录文件并根据文件名和日期匹配度删除文件
#!/bin/sh
basedir="/data/nginx/logs"
logdir="${basedir}/app"
datestr=`date -d -1day +%Y%m%d`
tmpdir="${basedir}/bak/app/${datestr}"
echo $tmpdir
if [ ! -x "$tmpdir" ]; then
mkdir "$tmpdir" -p;
fi
arr=`ls -l $logdir | grep ^- | awk '{print $NF}' `
for f in $arr
do
if [ ${#f} -gt 20 ]; then
s=${f:4:8};
if [ "$s" -le "$datestr" ]; then
mv $logdir/$f $tmpdir;
fi
fi
done
#delete before 30days file
datestr=`date -d -30day +%Y%m%d`;
echo "rm date:${datestr}"
rm -rf "${basedir}/bak/app/${datestr}";