Redian新闻
>
分享几个关于硬盘的脚本

分享几个关于硬盘的脚本

公众号新闻

作者:网络  源链接:网络  格式整理:IT运维技术圈

一、实现磁盘分区的

只支持分配主分区和标准的linux文件系统(ext4/xfs)的分区

#! /bin/bash
# Function:对硬盘进行分区,得到一个标准的linux文件系统(ext4/xfs)的主分区
cat /proc/partitions > old
read -p "请输入你要分区的硬盘(写绝对路径,如:/dev/sda):" A
if [ -e $A ];then
  echo "true"
else
  echo "该设备不存在!!"
  exit
fi
read -p "请输入你要创建的磁盘分区类型(这里只能是主分区,默认按回车即可):" B
read -p "请输入分区数字,范围1-4,默认从1开始,默认按回车即可:" C
read -p "请输入扇区起始表号,默认按回车即可:" D
read -p "请输入你要分区的分区大小(格式:如 +5G ):" E
fdisk $A << EOF
n
p
$C
$D
$E
w
EOF
echo "一个标准的linux文件系统的分区已经建立好!!"
partprobe $A
echo "-------------------------------"
cat /proc/partitions
cat /proc/partitions > new
F=`diff new old | grep "<" | awk '{print $5}'`
echo "-------------------------------"
echo $F
echo "你想对新分区设定什么类型的文件系统?有以下选项:"
echo "A:ext4文件系统"
echo "B:xfs文件系统"
read -p "请输入你的选择:" G
case $G in
        a|A)
           mkfs.ext4 /dev/$F
           echo "该分区将被挂载在 "/mnt/$F" 下" 
           m=`ls /mnt/|grep $F | wc -l`
           if [ $m -eq 0 ];then
            mkdir /mnt/$F
           fi
           n=`cat /etc/fstab | grep /dev/$F| wc -l`
           if [ $n -eq 0 ];then
              echo "/dev/$F     /mnt/$F     ext4         defaults          0      0" >> /etc/fstab
           else
              sed -i '/^\/dev\/$F/c\/dev/$F     /mnt/$F     ext4         defaults          0      0' /etc/fstab
           fi
           mount -a
           df -Th
;;
        b|B)
           mkfs.xfs -f /dev/$F
           echo "该分区将被挂载在 "/mnt/$F" 下" 
           m=`ls /mnt/|grep $F | wc -l`
           if [ $m -eq 0 ];then
              mkdir /mnt/$F
           fi
           n=`cat /etc/fstab | grep /dev/$F | wc -l`
           if [ $n -eq 0 ];then
              echo "/dev/$F     /mnt/$F      xfs       defaults          0      0" >> /etc/fstab
           else
              sed -i '/^\/dev\/$F/c\/dev/$F     /mnt/$F     xfs         defaults          0      0' /etc/fstab
           fi
           mount -a
           df -Th
;;
        *)
           echo "你的输入有误!!"
esac

二、使用一整块硬盘创建逻辑卷

#!/bin/bash
# Function:使用一整块硬盘创建LVM逻辑卷
read -p "请输入你要做成逻辑卷的硬盘(写绝对路径,如:/dev/sda):" path
if [ -e $path ];then
  echo "true"
else
  echo "该设备不存在!!"
  exit
fi
pvcreate $path
echo "该硬盘已做成物理卷!"
vgcreate myvg $path
echo "该物理卷已加入卷组 myvg 中"
vgs
free=`vgs| awk '$1~/myvg/{print}'|awk '{print $6}'`
echo "该物理卷剩余的空间大小为:$free "
read -p "请输入你要创建逻辑卷的大小(如:1G):" repy2
lvcreate -L $repy2 -n mylv myvg
echo "已成功创建逻辑卷mylv"
echo "------------------------"
lvs
echo "------------------------"
echo "你想对新分区设定什么类型的文件系统?有以下选项:"
echo "A:ext4文件系统"
echo "B:xfs文件系统"
read -p "请输入你的选择:" repy3
case $repy3 in
        a|A)
           mkfs.ext4 /dev/myvg/mylv
           echo "该分区将被挂载在 "/mnt/mylv" 下" 
           m=`ls /mnt/|grep mylv | wc -l`
           if [ $m -eq 0 ];then
            mkdir /mnt/mylv
           fi
           echo "/dev/myvg/mylv     /mnt/mylv     ext4         defaults          0      0" >> /etc/fstab
           mount -a
           df -Th
;;
        b|B)
           mkfs.xfs -f /dev/myvg/mylv
           echo "该分区将被挂载在 "/mnt/mylv" 下" 
           m=`ls /mnt/|grep mylv | wc -l`
           if [ $m -eq 0 ];then
              mkdir /mnt/mylv
           fi
           echo "/dev/myvg/mylv     /mnt/mylv      xfs       defaults          0      0" >> /etc/fstab
           mount -a
           df -Th
;;
        *)
           echo "你的输入有误!!"
esac

三、将一块硬盘分区,然后分区设置为虚拟卷

#! /bin/bash
# Author:谢公子
# Date:2018-10-13
# Function:新建一个分区,并做成逻辑卷
cat /proc/partitions > old
read -p "请输入你要分区的硬盘(写绝对路径,如:/dev/sda):" A
if [ -e $A ];then
  echo "true"
else
  echo "该设备不存在!!"
  exit
fi
read -p "请输入你要创建的磁盘分区类型(这里只能是主分区,默认按回车即可):" B
read -p "请输入分区数字,范围1-4,默认从1开始,默认按回车即可:" C
read -p "请输入扇区起始表号,默认按回车即可:" D
read -p "请输入你要分区的分区大小(格式:如 +5G ):" E
read -p "请输入你要划分为逻辑卷的分区盘符(默认回车即可):" Z
fdisk $A << EOF
n
p
$C
$D
$E
t
$Z
8e
p
w
EOF
echo "一个标准LVM的分区已经建立好!!"
partprobe $A
echo "-------------------------------"
cat /proc/partitions
cat /proc/partitions > new
F=`diff new old | grep "<" | awk '{print $5}'`
echo "-------------------------------"
echo $F
pvcreate /dev/$F
echo "该硬盘已做成物理卷!"
n=`vgs | grep myvg |wc -l`
if [ $n -eq 0 ];then
   vgcreate myvg /dev/$F
   echo "该物理卷已加入卷组myvg中"
else
   vgextend myvg /dev/$F
   echo  "该物理卷已加入卷组myvg中"
   vgs
   free=`vgs| awk '$1~/myvg/{print}'|awk '{print $7}'`
   echo "该卷组剩余的空间大小为:$free "
   lvs
   exit
fi
vgs
free=`vgs| awk '$1~/myvg/{print}'|awk '{print $6}'`
echo "该卷组剩余的空间大小为:$free "
read -p "请输入你要创建逻辑卷的大小(如:1G):" repy2
lvcreate -L $repy2 -n mylv myvg
echo "已成功创建逻辑卷mylv"
echo "------------------------"
lvs
echo "------------------------"
echo "你想对新分区设定什么类型的文件系统?有以下选项:"
echo "A:ext4文件系统"
echo "B:xfs文件系统"
read -p "请输入你的选择:" G
case $G in
        a|A)
           mkfs.ext4 /dev/myvg/mylv
           echo "该分区将被挂载在 "/mnt/$F" 下" 
           m=`ls /mnt/|grep $F | wc -l`
           if [ $m -eq 0 ];then
            mkdir /mnt/$F
           fi
           echo "/dev/myvg/mylv     /mnt/$F     ext4         defaults          0      0" >> /etc/fstab
           mount -a
           df -Th
;;
        b|B)
           mkfs.xfs -f /dev/myvg/mylv
           echo "该分区将被挂载在 "/mnt/$F" 下" 
           m=`ls /mnt/|grep $F | wc -l`
           if [ $m -eq 0 ];then
              mkdir /mnt/$F
           fi
           echo "/dev/myvg/mylv     /mnt/$F      xfs       defaults          0      0" >> /etc/fstab
           mount -a
           df -Th
;;
        *)
           echo "你的输入有误!!"
esac


END

官方站点:www.linuxprobe.com

Linux命令大全:www.linuxcool.com

刘遄老师QQ:5604215

Linux技术交流群:3861509

(新群,火热加群中……)

想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
5个常见运维场景,用这几个Python脚本就够了!倪光南院士:固态硬盘取代HDD机械硬盘时机已到登高处,遇今昔过往人(印第安纳波利斯)关于李蓓看空中小盘的几点看法​你一定不知道,这4个关于KIT的冷知识!2024年晋级的朋友:关于晋级材料怎么准备,需要注意这个关键因素我听到的,三个关于万家灯火的故事为什么男性尿完尿都要抖一抖?| 9个关于「尿」的迷思英国传来一个关于我国的消息!所有人都沉默了…哈里终于硬气了!皇室哀求小儿子观礼,这次百年规矩都要改了!这些习惯千万避免 营养师盘点八个关于吃早餐的雷区关于硬水,看这一篇就够了新政策没出来之前澳州482临时技术短缺签证仍然很香,最近482咨询量暴涨!这里也给大家分享几个482喜讯!墨西哥邮轮(下): 他一见我就说:“我是来看你三点式的! ”10个关于成长的建议,家长可以给孩子收藏5 个常见的运维场景,用这几个 Python 脚本就够了!分享几款PPT倒计时小工具,最后一款超好用!声音的梦分享几个我常用的私活接单渠道拜托你先删掉硬盘里乱七八糟的资料,关于AP,看这篇就够了!问了ChatGPT几个关于云计算的问题,发现...糕妈:冰冰凉凉超解暑!分享几款适合夏天吃的零食,健康美味全家都能吃瓣膜释放后如何即刻快速评估瓣周漏,这几个关键参数要明确三个女朋友,该娶哪个做老婆?干货分享!投行人拉开收入差距的四个关键点冬天里的春意问了ChatGPT30个关于香港的问题,结果有点刺激……关于中国动画关于青春关于艺术,看《艺术学院》一部就够了智能家居/智慧工业/流程自动化…分享几个ChatGPT 赋能物联网产业应用实例叙利亚终于硬气一回,千年古皂颠覆全行业10个有趣的 Linux Shell 脚本 “面试和解答”,老司机也可能 “翻车” ?富人靠什么赚钱?7天收入6万,分享几个闷声发财的小生意为什么越休息越累?「高质量休息」的3个关键特征 |【经纬低调分享】买这些新固态硬盘的,十个里有八个是怨种。这是一个关于人类进步的故事,我将用17 个方程来讲述
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。