for语句中加入时间判断
# cat /usr/local/bin/tjpac.sh
#!/bin/bash
Date=`date +%Y%m%d`
Time=`date +%H:%M`
SHDIR1=/aa/bb/cc
TJDIR1=/ee/dd/cc
/usr/bin/touch /log/tjpaclog/$Date.log
/bin/echo "sync begin at `date +%H:%M`" > /log/tjpaclog/$Date.log
cd ${SHDIR1}
for Job in $(ls)
do
if [ -d $Job ];then
if [ $(( (`date +%s` - `stat -L --format %Y $Job`) < (2*24*60*60) )) = 1 ];then
/bin/mkdir -p $TJDIR1/$Job
/usr/bin/rsync -av --progress $SHDIR1/$Job/Image/*/*.pac.gz $TJDIR1/$Job/
/usr/bin/rsync -av --progress $SHDIR1/$Job/Images/*/*.pac.gz $TJDIR1/$Job/
fi
fi
done
/bin/echo "$SHDIR1 rync end at `date +%H:%M`" >> /log/tjpaclog/$Date.log
注:
date +%s为从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
$(( (`date +%s` - `stat -L --format %Y $Job`) < (2*24*60*60) ))表示距离现在2天(48小时,以秒为基础)时间的文件
$(( (`date +%s` - `stat -L --format %Y $Job`) < (2*24*60*60) )) = 1 条件为真
本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/1711560如需转载请自行联系原作者
yangzhimingg