#!/bin/sh # $1 MOUNTDIR $2 TARGETDIR $3 ERRORLOG #参数检查 if test $# -ne 3 then echo "argument check fail" exit 0 fi for i in `ls $1` do if test -d $1/$i then #目录 if test -e $2/$i then #目录存在 ./Copy.sh $1/$i $2/$i $3 & else #目录不存在 \cp $1/$i $2/$i -r &> /dev/null fi else #文件 if ! test -e $2/$i then \cp $1/$i $2/$i -r &> /dev/null fi #如果存在判断 MOUNTSTR=`ls -l $1/$i` TARTGETSTR=`ls -l $2/$i` ALLLEN=`expr length "$MOUNTSTR"` DIRLEN=`expr length "$1/$i"` INDEX=`expr $ALLLEN - $DIRLEN` WIDTH=`expr $INDEX - 11` MOUNTSTR=`expr substr "$MOUNTSTR" 11 $WIDTH` ALLLEN=`expr length "$TARTGETSTR"` DIRLEN=`expr length "$2/$i"` INDEX=`expr $ALLLEN - $DIRLEN` WIDTH=`expr $INDEX - 11` TARTGETSTR=`expr substr "$TARTGETSTR" 11 $WIDTH` #CHECK=`expr match "$MOUNTSTR" "$TARTGETSTR"` S1=`echo "$MOUNTSTR" | cut -d ' ' -f5` S2=`echo "$TARTGETSTR" | cut -d ' ' -f5` if test $S1 -ne $S2 then echo "time:`date` SING: $2/$i" >> $3 \cp $1/$i $2/$i -r &> /dev/null fi fi done