Linux之find命令的参数详解_withkai44的博客-CSDN博客_linux下find参数
#!/bin/bash
#
#功能:查找指定日期范围内的文件,然后压缩打包。
#
BDATE=$(echo `ls --full-time beforedate.txt |awk '{print $6 " " $7}' |cut -d '.' -f 1`)
ADATE=$(echo `date +%Y-%m-%d` `date +%H:%M:%S`)
if [ -z "$1" ]; then
echo "读取文件开始时间"
else
echo "手工输入开始时间"
BDATE1=$1
BDATE2=$2
BDATE=$(echo ${BDATE1} ${BDATE2})
fi
echo 执行开始,时间起点【${BDATE}】截止日期【${ADATE}】!
cd /home
FILE=A`date "+%Y%m%d"`.tar.gz
#将文件名为首大写字母的,开始时间到系统时间打包
FILES=`find . -name '[A-Z]*.txt' -newermt "${BDATE}" ! -newermt "${ADATE}" -type f -print`
if [ -z "${FILES}" ];then
echo "无文件生成!"
else
rm -f $FILE
tar zcvf ${FILE} ${FILES}
echo "文件已生成,位置:"
ls -ltr `pwd`/${FILE}
#更新日期
cd /root/
cat /dev/null > beforedate.txt
fi
echo 执行结束,时间起点【${BDATE}】截止日期【${ADATE}】!
文章来自借鉴!!!!!