인생사는 이야기

parted 쉘스크립트 본문

IT/Linux shell scripts

parted 쉘스크립트

채율파파 2012. 11. 22. 17:19
반응형

#!/bin/bash

 

### make by KimKB
###
###
echo "######  mkdir ##############################################################"


num=1
num2=10
echo "
장치명 /dev/xxx(뒤에 sdb,sdc 등.. 글자만 입력)???"
read dev
echo "
마운트 할 디렉토리 명(data,media : /없이 입력)??"
read dr
echo "
위 디렉토리 생성시 마지막 디렉토리의 숫자 입력 ex) /data60까지면, 입력 값 : 60"
read num3
echo "
파일 시스템 타입을 적어 주세요(ext2,ext3,ext4)???"
read fs
echo "
디렉토리 생성 및 /etc/fstab 마운트 목록 삽입(잘못 입력시 /etc/fstab 잘못 입력한 라인 삭제!!)
위 항목 잘못 입력시 ctrl + c 입력 후 다시 시작"
sleep 5
echo " ################### 마운트 디렉토리 및 /etc/fstab 마운트 목록 생성 #####################"
while (( $num < 10 ))
do
       mkdir "/$dr"0"$num"
       echo "/dev/$dev$num                      "/$dr""0""$num"                   $fs     defaults        2 $num" >> /etc/fstab
       let num+=1
done

while (( $num2 <= $num3 ))
do
        mkdir "/$dr$num2"
        echo "/dev/$dev$num2                     "/$dr""$num2"                   $fs     defaults        2 $num2" >> /etc/fstab
        let num2+=1
done

cat /etc/fstab
echo "fstab 확인"
echo "
############## 디렉토리 생성 완료 및 /etc/fstab 마운트 목록 생성 완료 ###################
"
echo "
######### 디스크 라벨 설정 ##############################################################
"
echo "Make FileSystem Label(gpt,bsd,loop,mac,mips,msdos,pc98,sun)"
read label
parted -s /dev/$dev mklabel $label
fdisk -l
echo "라벨 변경 확인"

echo "
######### 파티션 나누기 ##############################################################
"
num4=1
sp=start
st1=0                    //            자동 분할 시작값
st2=1150                //            자동 분할 끝값

while [ -n "$sp" ]
do
        echo "[[Q,q] 입력시 종료 , 다른 키 다음 진행]"
        read stop
        if [[ $stop == [Qq] ]]
                then #[ "$stop" = q -o "$stop" = Q ] Old style
                        sp=
                else
                        echo "setting /dev/$dev$num4"
#                      echo "시작 (MB)"
#                      read st1
#                      echo "끝 (MB)"
#                      read st2
                        parted -s /dev/$dev mkpart primary "$st1" "$st2"
                        let num4+=1
                      st1+=1150                                //        시작값에 나눠질 파티션 사이즈 값 입력
                      st2+=1150                                //        끝값에 나눠질 파티션 사이즈 값 입력
                        parted -s /dev/$dev print
        fi
done

parted -s /dev/$dev print
echo "complete table"

echo "
######## 파일 시스템 포맷 ###############################################################
"

num5=1

while (( $num5 == $num3  ))
do
 if mkfs.$fs /dev/$dev$num5
         echo "
############################  완료 /dev/$dev$num  ########################

"
         let num5+=1
         parted /dev/$dev print
 else echo "!!!!!!!!!!!!!  ERROR ERROR  !!!!!!!!!!!!"
done

echo "
###########  포맷 완료   ################################################################
"
echo "
############### 마운트 mount -a  ########################
"
mount -a
echo "
###################################   END   ##################################"

반응형
Comments