今天做LVM实验,第一次感觉手动交互的创建分区是在太费劲了。遂写以下脚本:
第一个:删除分区脚本
#!/bin/bash #删除分区的脚本 #使用方法 /PATH/TO/SHELL_NAME /dev/DEV_NAME DEV=$1 DEVID=${C##*/} #取得设备的基名 PARTNUM=$(cat /proc/partitions | grep -o "$DEVID[0-9]\{1,2\}" | grep -o "[0-9]\{1,2\}" | sort -nr) #现有分区数量 for I in $PARTNUM;do echo -n "d $I w" | fdisk $1 &> /dev/null partx -a $1 &> /dev/null done cat /proc/partitions #最后查看结果
#
第二个:只增加逻辑分区脚本
#!/bin/bash #自动增加8个逻辑分区脚本 #使用方法: SHELL_NAME /DEV/DEV_NAME #判断是否存在扩展分区 if ! fdisk -l $1 | grep -i "extended" &> /dev/null;then echo -n "n e 1 w" | fdisk $1 &> /dev/null partx -a $1 &> /dev/null fi #由于fdisk -l出来的多2个$1,所以必须在$2上多加2 declare -i LOGICPARTNUM=$(fdisk -l $1 | grep -o "$1" | wc -l) while [ $LOGICPARTNUM -lt $2 ];do echo -n "n l +2G w" | fdisk $1 &> /dev/null partx -a $1 &> /dev/null LOGICPARTNUM=$(fdisk -l $1 | grep -o "$1"| wc -l) done #这里取得共有多少逻辑分区需要被转换类型 LOGICPARTT=$(fdisk -l /dev/sdb | grep -v Extended | grep -o "$1[0-9]\{1,2\}" | grep -o "[0-9]\{1,2\}") for I in $LOGICPARTT;do echo -n "t $I 8e w" | fdisk $1 &> /dev/null done cat /proc/partitions