linux之挂载磁盘(脚本自动化)

背景1:关于磁盘挂载的知识是在新冠肺炎蔓延流行时学到的。当时是在某地市的宾馆里面。

背景2:核酸系统需要部署。新给到的服务器linux系统又有新的磁盘需要被挂载。咨询提供服务器的厂商要求挂载,但他们的反馈是这个事情与他们无关,只提供服务器以及系统的安装而已。

背景3:请求自己公司运维的同事解决了这个问题。后来长时间的使用这篇文章中磁盘挂载的内容。并且写成了自动化的脚本。只需要按照脚本运行时的提示进行确认安装就能够执行完成。
目录

一、命令解读

二、自动化脚本呈现

总结


一、命令解读

注:脚本未做过更改。如果尝试使用,先做测试再自定义修改满足自己的需要即可
fdisk 注:fdisk是一个分区管理命令,最常用的是-l,列出分区表。
read 注:read命令从键盘读取变量的值,shell脚本中与用户进行交互。
mkfs 注:mkfs命令是Linux中的一个用于创建文件系统的命令。它可以将一个磁盘分区格式化为指定的文件系统类型
>> 注:会在原有内容后追加内容,如果文件不存在,直接创建文件
mount 注:Linux系统下目录可以挂载不同分区和磁盘设备目录。磁盘分区是分离的,通过挂载可以自由组合

二、自动化脚本呈现

注:脚本中使用 # 做注释描述当前命令的功能

shell 复制代码
# 1. 查看磁盘了解磁盘挂载情况,避免挂错
# 设置变量a, 用于等待设备输出(键盘输入)
# 设置变量DISK_NAME, 用于记录要挂载的磁盘名称
a=
echo "look aroud fdisk"
fdisk -l
DISK_NAME=

# 2. read DISK_NAME ... 等待输入磁盘目录, 
# if [ -z "$DISK_NAME" ] 意思:如果输入内容为空(也就是直接回车),默认使用/dev/vdb目录
echo "you want disk load name, ex: /dev/vdb"
read DISK_NAME < /dev/tty
if [ -z "$DISK_NAME" ]; then
	DISK_NAME=/dev/vdb
fi

# 3. 当你执行 fdisk $DISK_NAME 命令时,会进入一个交互式的分区编辑器来增删改新的磁盘分区
fdisk $DISK_NAME

# 4. 在指定的磁盘或分区上创建一个 ext4 文件系统
echo "config fs type. ex: mkfs -t ext4 ${DISK_NAME}"
mkfs -t ext4 ${DISK_NAME}

# 5. 创建要挂载的目录
echo "make directory name /msun"
mkdir /msun

# 6. 挂载分区到目录
echo "load disk to /msun"
mount ${DISK_NAME} /msun

# 7. 将变量的值追加到文件末尾
# 追加到/etc/fstab用于将本次磁盘挂载持久化,开机重启挂载依然能用。
echo "permanent disk load point to ${DISK_NAME} and can be used even restart machine"
perm_data="${DISK_NAME}"'                                  /msun                   ext4    defaults        0 0'
echo "perm data: ${perm_data}: "
read a < /dev/tty
echo ${perm_data}  >> /etc/fstab

总结

1. 自动化脚本的好处

注:开始手动执行,效率非常低。所以对效率的提升,做脚本非常有效。

2. 后期更新redis集群脚本部署

注:后期还会更新redis集群的部署脚本。相比于这次展示的脚本复杂了许多。

3. 脚本编写总结

注:就像编程或者学习某项技能和本领一样。都需要不断练习和学习前辈的经验和代码。多做尝试。另外就是多加总结了。越来越感觉总结很重要。是种结晶,升华的东西。

相关推荐
不死鸟.亚历山大.狼崽子15 分钟前
python库(6):Pygments库
linux·开发语言·python
九河云35 分钟前
AWS云服务器的竞争优势
服务器·云计算·aws
文盲老顾35 分钟前
阿里云 ECS 服务器的安全组设置
服务器·安全·阿里云
夜流冰37 分钟前
GNU/Linux - Kconfig Language - 2
linux
2301_784912691 小时前
服务器被劫持
服务器
wanhengwangluo1 小时前
什么是独立服务器?
服务器·独立服务器
张火火isgudi1 小时前
CentOS搭建KMS服务器
运维·服务器·centos
禾达达2 小时前
bash shell 重定向输入和输出
服务器·bash
xyh20042 小时前
python 10个自动化脚本
数据库·python·自动化
没耳朵的Rabbit2 小时前
RedHat运维-Ansible自动化运维基础7-管理变量与模块结果
linux·运维·自动化·ansible