do some perfect on mkTmpfstab.sh and mkraidconf.sh

This commit is contained in:
zorro
2010-09-27 15:40:24 +08:00
parent 9fa7b2f581
commit d1e025832d
2 changed files with 40 additions and 66 deletions

View File

@@ -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
}
###########################################################################

View File

@@ -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