向高手求救!!!!!!!急.............................

向高手求救!!!!!!!急.............................

我现在要通过一个shell来进行备份作业,我想通过 crontab来调用,现在的问题是:我要每隔两个小时就要做一次备份,每次备份的资料将存放在不同的目录下,比如11:00开始就放在/u2/11/的目录下,所以我在shell中用"date +%H"来指定路径,这样问题就来了,我的备份不可能在一个小时中完成,所以一跨过了12:00,就把资料备份到了/u2/12的目录下去了![/COLOR]
请问高手我该怎么解决这个目录判断的问题![/COLOR]      
我的shell如下[/COLOR]
          ############################################
          #            backup gmo file               #
          ############################################

if [ "$1" = "" ]  ||  [ "$2" = "" ]
then
   echo ' ########################################'
   echo ' #           bak-gmo *                  #'
   echo ' ########################################'
   exit  1
fi
#############################
function  GOGO
{
  echo -e "\n"
  HOST=`cat $HOME/bin/path/file-path | grep "^$STRNO:" | cut -d":" -f3`
  USER=`cat $HOME/bin/path/file-path | grep "^$STRNO:" | cut -d":" -f4`
  REMOTE=`cat $HOME/bin/path/file-path | grep "^$STRNO:" | cut -d":" -f5`
  LOCAL=/u2/shishi/`date +%H`/`cat $HOME/bin/path/file-path | grep "^$STRNO:" | cut -d":" -f6`
###
M=m*
P=p*
C=c*
Y=*`date +%Y`*
D=*`date +%y%m`*
###
  rsync -a --delete --password-file=/etc/rsync.secure rsync://$USER@$HOST:873$REMOTE/$M $LOCAL
  rsync -a --delete --password-file=/etc/rsync.secure rsync://$USER@$HOST:873$REMOTE/$P $LOCAL
  rsync -a --delete --password-file=/etc/rsync.secure rsync://$USER@$HOST:873$REMOTE/$C $LOCAL
  rsync -a --delete --password-file=/etc/rsync.secure rsync://$USER@$HOST:873$REMOTE/$Y $LOCAL
  rsync -a --delete --password-file=/etc/rsync.secure rsync://$USER@$HOST:873$REMOTE/$D $LOCAL
###
}

############################################
STBNO=$1
FILE=$2

ALL_STRNO=`cat $HOME/bin/path/file-path | grep "STBNO:" | cut -d":" -f1`
for STRNO in `echo $ALL_STRNO`
do
    if  [ $STRNO =  $STBNO ]
    then
       echo $STRNO
       GOGO
    fi
done
  
ALL_STRNO=`cat $HOME/bin/path/file-path | grep "STBNO:" | cut -d":" -f1`
for STRNO in `echo $ALL_STRNO`
do
    if ! [ $STRNO =  $STBNO ]
    then
       echo $STRNO
       GOGO
    fi
done高手看看有什么地方还可以修改的!!!![/COLOR]      
不要在函数 GOGO 中生成 Y、D 两个变量,可以作为参数传递进去
说错了,应该是 LOCAL 变量      
版主你好,首先感谢回贴,可我的问题是:我要每隔两个小时就要做一次备份,每次备份的资料将存放在不同的目录下,比如11:00开始就放在/u2/11/的目录下,所以我在shell中用"date +%H"来指定路径,这样问题就来了,我的备份不可能在一个小时中完成,所以一跨过了12:00,就把资料备份到了/u2/12的目录下去了![/COLOR]  ----> 这个是主要的![/COLOR]

请再指教[/SIZE]      
复制内容到剪贴板
代码:
#!/bin/bash

############################################
# backup gmo file #
############################################

function GOGO
{
    echo -e "\n"
    HOST=`cat $HOME/bin/path/file-path | grep "^$STRNO:" | cut -d":" -f3`
    USER=`cat $HOME/bin/path/file-path | grep "^$STRNO:" | cut -d":" -f4`
    REMOTE=`cat $HOME/bin/path/file-path | grep "^$STRNO:" | cut -d":" -f5`
    LOCAL=/u2/shishi/[color=red]$1[/color]/`cat $HOME/bin/path/file-path | grep "^$STRNO:" | cut -d":" -f6`

    M=m*
    P=p*
    C=c*
    Y=*`date +%Y`*
    D=*`date +%y%m`*

    rsync -a --delete --password-file=/etc/rsync.secure rsync://$USER@$HOST:873$REMOTE/$M $LOCAL
    rsync -a --delete --password-file=/etc/rsync.secure rsync://$USER@$HOST:873$REMOTE/$P $LOCAL
    rsync -a --delete --password-file=/etc/rsync.secure rsync://$USER@$HOST:873$REMOTE/$C $LOCAL
    rsync -a --delete --password-file=/etc/rsync.secure rsync://$USER@$HOST:873$REMOTE/$Y $LOCAL
    rsync -a --delete --password-file=/etc/rsync.secure rsync://$USER@$HOST:873$REMOTE/$D $LOCAL
}

if [ "$1" = "" ] || [ "$2" = "" ]
then
    echo ' ########################################'
    echo ' # bak-gmo * #'
    echo ' ########################################'
    exit 1
fi

[color=red]HOUR=$(date +%H)[/color]

STBNO=$1
FILE=$2

ALL_STRNO=`cat $HOME/bin/path/file-path | grep ":$STBNO:" | cut -d":" -f1`
for STRNO in `echo $ALL_STRNO`
do
    if [ $STRNO = $STBNO ]
    then
        echo $STRNO
        [color=red]GOGO $HOUR[/color]
    fi
done

ALL_STRNO=`cat $HOME/bin/path/file-path | grep ":$STBNO:" | cut -d":" -f1`
for STRNO in `echo $ALL_STRNO`
do
    if ! [ $STRNO = $STBNO ]
    then
        echo $STRNO
        [color=red]GOGO $HOUR[/color]
    fi
done
      
thank you! 我马上试试!!!!!!!!!!!!!      
欢迎常来!多多交流!