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

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

相关推荐
##echo38 分钟前
嵌入式Linux裸机开发笔记9(IMX6ULL)GPIO 中断实验(1)
linux·c语言·笔记·单片机·嵌入式硬件
Reggie_L1 小时前
RabbiteMQ安装-ubuntu
linux·ubuntu·ruby
AIGC_北苏1 小时前
让UV管理一切!!!
linux·人工智能·uv
YCY^v^3 小时前
centos 7 开启80,443端口,怎么弄?
linux·运维·centos
北南京海3 小时前
[Linux]进程地址空间
linux·运维·服务器
yzx9910134 小时前
服务器生成图片
运维·服务器
db_murphy5 小时前
Oracle数据块8KB、OS默认认块管理4KB,是否需调整大小为一致?
linux
liulilittle6 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
mCell8 小时前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记8 小时前
GPU运维常见问题处理
linux·运维·gpu