一键自动创建磁盘分区以及格式化挂载脚本

说明:

1、默认分3个区,其中一个是SWAP分区

2、分区的大小没有写成交互式,直接定义在脚本,需要在脚本修改

3、只是演示测试,sda磁盘没有设置自动分区功能,可把sdb分区代码拷贝到sda位置即可

4、分区前会把分区磁盘的分区表先重置,请提前做好数据备份!!

#!/bin/bash
#Author: Hill.Mai
#Contact: [email protected]
#Create time: 2016-08-31 08:43:29
#Description:auto disks part ,will creat /,boot,swap three partitions defaultly.
echo "the disks exist list:"
fdisk -l |grep ‘Disk /dev/sd[a-z]‘
echo "=================================================="
PS3="chose which disk you want to create:"
select VAR in `ls /dev/sd*|grep -o ‘sd[a-z]‘|uniq` quit
do
    case $VAR in
    sda)
        fdisk -l /dev/sda
        break ;;
    sdb)
        #create partitions
        dd if=/dev/zero of=/dev/sdb bs=512 count=1 &> /dev/null
        echo "n
                p
                1
                
                +100M
                n
                p
                2
                
                +200M
                n
                p
                3
                
                +300M
                t
                3
                82
                w"  | fdisk /dev/sdb
        echo -e "\033[31mfdisk done\033[0m"
        #make filesystem
        mkfs -t ext3 /dev/sdb1 &> /dev/null
        mkfs -t ext3 /dev/sdb2 &> /dev/null
        mkswap /dev/sdb3 &> /dev/null
        echo -e "\033[31mmkfs done\033[0m"
        #mount the system
        echo -e "/dev/sdb1 /mnt/sdb1 ext3 defaults 0 0\n/dev/sdb2 /mnt/sdb2 ext3 defaults 0 0\n/dev/sdb3 swap swap defaults 0 0" >> /etc/fstab
        mkdir -p /mnt/{sdb1,sdb2} &> /dev/null
        mount -a &> /dev/null
        swapon -a &> /dev/null
        echo -e "\033[31mmount done\033[0m"
        break ;;
    quit)
        break;;
    *)
        echo "wrong disk,please check again";;
    esac
done

实例效果:

[10:21 [email protected]~/shells]# sh partitions.sh 
the disks exist list:
Disk /dev/sda: 214.7 GB, 214748364800 bytes
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
==================================================
1) sda
2) sdb
3) quit
chose which disk you want to create:2
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x30b93fb0.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won‘t be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
         switch off the mode (command ‘c‘) and change display units to
         sectors (command ‘u‘).
Command (m for help): Command action
   e   extended
   p   primary partition (1-4)
Partition number (1-4): First cylinder (1-2610, default 1): Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 
Command (m for help): Command action
   e   extended
   p   primary partition (1-4)
Partition number (1-4): First cylinder (15-2610, default 15): Using default value 15
Last cylinder, +cylinders or +size{K,M,G} (15-2610, default 2610): 
Command (m for help): Command action
   e   extended
   p   primary partition (1-4)
Partition number (1-4): First cylinder (41-2610, default 41): Using default value 41
Last cylinder, +cylinders or +size{K,M,G} (41-2610, default 2610): 
Command (m for help): Partition number (1-4): Hex code (type L to list codes): Changed system type of partition 3 to 82 (Linux swap / Solaris)
Command (m for help): The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
fdisk done
mkfs done
mount done
时间: 2024-07-29 09:17:36

一键自动创建磁盘分区以及格式化挂载脚本的相关文章

磁盘分区、格式化、挂载[转自vbird]

磁盘分区.格式化.挂载磁盘分区    新增分区    查询分区    删除分区磁盘格式化    mkfs    mke2fs磁盘挂载与卸载    mount    umount 磁盘的分区.格式化.挂载 对于一个系统管理者( root )而言,磁盘的的管理是相当重要的一环,尤其近来硬盘已经渐渐的被当成是消耗品了 ..... 如果我们想要在系统里面新增一颗硬盘时,应该有哪些动作需要做的呢: 对磁盘进行分区,以创建可用的 partition : 对该 partition 进行格式化( format

Linux 磁盘分区、永久挂载、创建LVM逻辑卷

实验项目: 1掌握管理Linux磁盘和分区的方法 2掌握挂载并卸载文件系统的方法 3掌握创建并管理LVM分区的方法 理论部分:一:磁盘和分区简介 1磁盘分区的表示:常见的硬盘可以划分为主分区.扩展分区.和逻辑分区.通常主分区只有4个,而扩展分区看成一个特殊的主分区类型,在扩展分区可以建立逻辑分区2现在用的硬盘都是SCSI硬盘,所以在这里主要介绍SCSI硬盘分区的结构.对于SCSI接口的硬盘表示方式是:第一块SCSI硬盘我们可以表示为"sda",第二块SCSI硬盘表示为"sdb

Linux命令-磁盘分区及格式化

磁盘的组成:盘片.磁头.机械臂.主轴马达. 盘片的组成:磁头划过的一个个同心圆称为磁道(track):从圆心向外画直线,可将磁道划分为若干的弧段,成为扇区(sector),是磁盘的最小组成单元,大小512byte. 盘片上下两面各有一个磁头,每张盘片同一位置的磁道,组成了柱面(cylinder ): 磁盘容量=磁头数*柱面(磁道)数*每柱面(磁道)扇区数*每扇区字节数 每个磁道和柱面又进行了编号,比如n磁道m柱面,在这里有一个非常重要的位置,即:0磁道0扇区.这是MBR的存放位置,即Master

管理磁盘分区及格式化

磁盘管理的常用命令:  1.du:报告磁盘空间使用情况(查看文件的大小信息) -a:显示所有的统计 -b:以字节为单位输出 -h:单位换算 -k:以K为单位输出,缺省为1k -m:以M为单位输出,缺省为1M -s:显示目录及子目录的大小  2.df:报告文件系统磁盘空间的使用情况(查看磁盘空间的使用信息) -a:列出block为0的文件系统 -l:只显示本地磁盘使用情况 -h:单位换算,以常见的格式列出大小 -H:单位换算,但使用1k=1024 -i:显示inode节点空间使用情况 -k:指定块

第六天 yum 磁盘分区与格式化

一.yum软件包管理: yum repolist all:查询yum文件库. 1 安装yum install 后加 软件包全称2 更新和升级 yum update 全部更新 yum update package1 更新指定程序包package1 yum check-update 检查可更新的程序 yum upgrade package1 升级指定程序包package1   3 查找和显示yum info package1 显示安装包信息package1yum list 显示所有已经安装和可以安装

磁盘分区及格式化

实验7.1:磁盘分区及格式化 实验目标 练习一:磁盘分区 1)为虚拟机添加一块80GB.SCSI接口的硬盘 2)划分2个20GB的主分区,剩余作为扩展分区 3)新建2个逻辑分区,分别为2GB.10GB 4)将第1个逻辑分区的类型改为SWAP(ID 82) 5)将第2个逻辑分区的类型改为VFAT(ID b) 6)确认分区无误后,保存退出 7)使用partprobe识别新的分区表 练习二:格式化分区 1)将/dev/sdb1格式化成ext3分区 2)将/dev/sdb6格式化成FAT32分区 3)将

oracle11g interval(numtoyminterval())自动创建表分区

Oracle11g通过间隔分区实现按月创建表分区 在项目数据库设计过程中由于单表的数据量非常庞大,需要对表进行分区处理.由于表中的数据是历史交易,故按月分区,提升查询和管理. 由于之前对于表分区了解不多,为了实现上述功能查了很多资料,一开始的方向是通过Crontab调用Shell脚本来按月自动创建分区,或者使用Oracle的Job调用存储过程来自动创建分区.在研究上述两套方案的过程中,无意发现Oracle11g有间隔分区功能,对于使用Range分区的可以按年,月,日来自动生成分区.语法如下: ?

tar命令-vi编辑器-磁盘分区及格式化-软链接及硬链接文件

一.tar命令 1.将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) [[email protected]  /] #  cat  /etc/passwd  /etc/group  >  1.txt 2.将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加) [[email protected]  /] #  cat  /etc/passwd  /etc/shadow  >>  2.txt 3.将/1.txt./2.txt两个文件打包为

sql2008 计划自动创建数据库分区【转】

本文转自:http://jingyan.baidu.com/article/6b97984d9a26ec1ca3b0bf77.html sql2008 计划自动创建数据库分区 固定增量的数据,自动创建分区作业. 步骤一:创建分区的计划任务 打开MsSQL2008,找到作业该项,如果打不开或者SQL Server代理是未启动状态,请先在windows服务中启动SQL Server代理(参考图片),   右击MsSQL2008对象资源管理器中的作业,选择新建作业,输入该作业你想用的名称,类别不用管,