diff --git a/operation/mkTmpfstab.sh b/operation/mkTmpfstab.sh index d26bbd1..54aa009 100755 --- a/operation/mkTmpfstab.sh +++ b/operation/mkTmpfstab.sh @@ -40,19 +40,11 @@ setArgument(){ for((i=0; i<${#ARGV_MKFSTAB[@]}; i++)) do case ${ARGV_MKFSTAB[$i]} in - --from) + --from|-f) ((i++)) PATHFROM=${ARGV_MKFSTAB[$i]} ;; - --to) - ((i++)) - PATHTO=${ARGV_MKFSTAB[$i]} - ;; - -f) - ((i++)) - PATHFROM=${ARGV_MKFSTAB[$i]} - ;; - -t) + --to|-t) ((i++)) PATHTO=${ARGV_MKFSTAB[$i]} ;; @@ -77,15 +69,7 @@ setArgument(){ # Description: copy the old fstab to a temp place ########################################################################### cpTmpfstab(){ - local i - local TMPPATH=`echo "$2"|sed -e s/[/]/' '/g` - for i in $TMPPATH - do - continue - done - local PATHTOFILE=$i - local PATHTODIR=`echo "$2"|sed -e s/"$PATHTOFILE"/''/g` - + local PATHTODIR=`dirname $2` mkdir -p $PATHTODIR 2>>$LOGDIR$LOGFILE if [ $? != "0" ];then echo "can not makedir named $PATHTODIR" >>$LOGDIR$LOGFILE @@ -106,44 +90,42 @@ cpTmpfstab(){ ########################################################################### mdfyTmpFstab(){ local i - local j - local LASTNAME='' - local UUIDFROMFSTAB=$(awk '/^[ \t]*[^#]/ { if ($1 ~ "^[UUID]") { print $1}}' $1) - for i in $UUIDFROMFSTAB - do - blkid -t$i >/tmp/.blkid.tmp - local NAMEFROMUUID=`cut -f 1 -d : /tmp/.blkid.tmp` - if [ ! "${NAMEFROMUUID}" ];then - echo "error UUID, can not find devices by blkid" >>$LOGDIR$LOGFILE - exit 1 - fi + local j + local LASTNAME='' + local UUIDFROMFSTAB=$(awk '/^[ \t]*[^#]/ { if ($1 ~ "^[UUID]") { print $1}}' $1) + for i in $UUIDFROMFSTAB + do + local NAMEFROMUUID=`blkid -t$i |cut -f 1 -d :` + if [ ! "${NAMEFROMUUID}" ];then + echo "error UUID, can not find devices by blkid" >>$LOGDIR$LOGFILE + exit 1 + fi - if [ `echo $NAMEFROMUUID| wc -w` -lt 2 ];then - LASTNAME=$NAMEFROMUUID - else - for j in $NAMEFROMUUID - do - if [ `echo $j|grep 'md'` ];then - if [ ! $LASTNAME ]; then - LASTNAME=$j - else - echo "too many raid devices be found" >>$LOGDIR$LOGFILE - exit 1 - fi - else - if [ `mdadm -Ds -v|grep -w $j` ];then - continue - else - echo "too many partitions be found" >>$LOGDIR$LOGFILE - exit 1 - fi - fi - done - fi - sed -i s@$i@$LASTNAME@g $1 - LASTNAME='' - done - rm /tmp/.blkid.tmp + if [ `echo $NAMEFROMUUID| wc -w` -lt 2 ];then + LASTNAME=$NAMEFROMUUID + else + for j in $NAMEFROMUUID + do + if [ `echo $j|grep 'md'` ];then + if [ ! $LASTNAME ]; then + LASTNAME=$j + else + echo "too many raid devices be found" >>$LOGDIR$LOGFILE + exit 1 + fi + else + if [ `mdadm -Ds -v|grep -w $j` ];then + continue + else + echo "too many partitions be found" >>$LOGDIR$LOGFILE + exit 1 + fi + fi + done + fi + sed -i s@$i@$LASTNAME@g $1 + LASTNAME='' + done } ########################################################################### diff --git a/operation/mkraidconf.sh b/operation/mkraidconf.sh index b20ec66..b9cf5ec 100755 --- a/operation/mkraidconf.sh +++ b/operation/mkraidconf.sh @@ -13,15 +13,7 @@ if [ ! $1 ]; then exit 1 fi -CONPATH=`echo $1|sed -e s/[/]/' '/g` -for i in $CONPATH -do - continue -done - -CONFILE=$i -CONDIR=`echo $1|sed -e s/$CONFILE/''/g` - +CONDIR=`dirname $1` if [ ! -d $CONDIR ]; then mkdir -p $CONDIR if [ $? != 0 ]; then @@ -29,5 +21,5 @@ if [ ! -d $CONDIR ]; then exit 1 fi fi -mdadm -Ds -v > $CONDIR$CONFILE +mdadm -Ds -v > $1