- 论坛徽章:
- 0
|
楼上的方法,如果文件太多了可能会有问题吧.
一定要用tar吗?cpio也可以啊.建议date不要多次使用,应该只取一次保存下来,以后取保存的值.
多次取date在0点运行是容易出问题.
SRC_HOME=怎么有1个单引号,漏了一个吗?
set `date '+%Y %m %d'`
YEAR="$1"
MON="$2"
DAY="$3"
SRC_HOME=/www
TARBACK_HOME='/data/www/newbak'
BACK_HOME='/data/www'
CUR_DIR=`dirname $0`
NEWFILELOG=$CUR_DIR/log1
TARLOG=$CUR_DIR/log2
EXACLOG=$CUR_DIR/log3
if test ! -d $SRC_HOME
then
echo "$SRC_HOME does not exist.\n"
exit
fi
if test ! -d $TARBACK_HOME
then
echo "$TARBACK_HOME does not exist.\n"
exit
fi
cd $SRC_HOME
>$TARLOG/www_webBak_c$YEAR$MON$DAY.log
find . -type f -mtime -1 |cpio -ouvdmB $TARBACK_HOME/webBak$YEAR$MON$DAY.cpio 2>>$TARLOG/www_webBak_c$YEAR$MON$DAY.log
#也可以压缩:find . -type f -mtime -1 |cpio -ouvdmB 2>>$TARLOG/www_webBak_c$YEAR$MON$DAY.log|gzip -c >$TARBACK_HOME/webBak$YEAR$MON$DAY.cpio 2>>$TARLOG/www_webBak_c$YEAR$MON$DAY.log
if test ! -d $BACK_HOME
then
echo "$BACK_HOME does not exist.\n"
else
cd $BACK_HOME
cpio -iuvdmB <$TARBACK_HOME/webBak$YEAR$MON$DAY.cpio > $EXACLOG/www_webBak_x$YEAR$MON$DAY.log 2>&1
#gzip -dc <$TARBACK_HOME/webBak$YEAR$MON$DAY.cpio.gz|cpio -iuvdmB > $EXACLOG/www_webBak_x$YEAR$MON$DAY.log 2>&1
fi |
|