大容量磁盘利用脚本自动分区

!/bin/bash

判断磁盘是否已经进行了分区

if (( $(fdisk -l /dev/sdb|grep "^/dev/sdb"|wc -l) > 0 ))
then
echo "这块磁盘已经分区,退出,请管理员检查"
exit #退出脚本,后面的命令不再执行
else
echo "开始进行分区操作"
sleep 3
fi

使用fdisk交互式方式创建分区,使用here document方式,解决交互式传递参数的问题

fdisk /dev/sdb <<EOF
g
n
1
2048
+2T
n
2

w
EOF
echo "$?"

read -n 1

fdisk -l /dev/sdb
echo "##############################################"

read -n 1

mkfs.xfs /dev/sdb1

for i in $(ls /dev/sdb?)
do
mkfs.xfs -n ftype=1 $i
file -s $i
done

判断挂载点是否存在,如果不存在就新建

[ -d /data ] || mkdir /data
[ -d /sdata ] || mkdir /sdata

添加到/etc/fstab

echo "/dev/sdb1 /data xfs defaults 0 0 " >>/etc/fstab
echo "/dev/sdb2 /sdata xfs defaults 0 0 " >>/etc/fstab
mount -a
df -h

原文地址:https://www.cnblogs.com/zhugq02/p/14220753.html