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. 脚本编写总结

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

相关推荐
wingaso30 分钟前
[经验总结]删除gitlab仓库分支报错:错误:无法推送一些引用到“http:”
linux·数据仓库·git
独行soc35 分钟前
2025年渗透测试面试题总结-阿里云[实习]阿里云安全-安全工程师(题目+回答)
linux·经验分享·安全·阿里云·面试·职场和发展·云计算
勤不了一点1 小时前
小白上手RPM包制作
linux·运维·服务器·软件工程
盛夏绽放1 小时前
Python字符串常用内置函数详解
服务器·开发语言·python
厦门辰迈智慧科技有限公司2 小时前
城市综合管廊监测与维护一体化解决方案
物联网·自动化·监测
麦a~M了M2 小时前
ansible
linux·运维·ansible
zizle_lin2 小时前
优雅使用Gunicorn进程管理FastAPI
服务器·fastapi·gunicorn
2501_906314323 小时前
MCP-RAG 服务器:完整设置和使用指南
运维·服务器
QQ_4376643143 小时前
Linux下可执行程序的生成和运行详解(编译链接汇编图解)
linux·运维·c语言·汇编·caffe
IP管家4 小时前
物联网设备远程管理:基于代理IP的安全固件更新通道方案
服务器·网络·物联网·网络协议·tcp/ip·安全·ip