云主机一键挂载数据盘脚本

国密SSL通信的调试技巧 前面写了几篇国密开发相关的文章:解读国密非对称加密算法SM2啥?双证书?详解国密SM2的加密和解密详解国密SSL ECC_SM4_SM3套件详解国密SM2的数字签名这篇文章来聊一聊国密S... 阅读详情

背景

申请的公有云或者私有云主机,主机存储磁盘往往没有格式化,也没有被挂载。

申请下来后,需要手动进行格式化和挂载,比较麻烦,本文提供一键磁盘挂载程序。

实现

Feature

特性

说明

挂载数据盘数量

当前只能挂载一个.

可执行多次,每次挂载一个

挂载点检查若挂载点已被挂载,则退出
支持场景

未分区磁盘,自动分区并挂载

不支持:磁盘扩容、挂多个数据盘场景

未分区磁盘检查若所有磁盘都已分区、挂载,则退出
格式化格式EXT4
默认挂载点/app

脚本

将如下脚本保存到

/tmp/onekey_auto_mount_disk.sh
#!/bin/bash
#
# 自动挂载磁盘到指定路径
# auto mount disk to specify mount point
# usage: sh onekey_auto_mount_disk.sh app
#

# 挂载点
MOUNT_POINT=$1
DEFAULT_MOUNT_POINT="app"
if [ x"${MOUNT_POINT}" == "x" ]; then
   MOUNT_POINT=${DEFAULT_MOUNT_POINT}
fi
setup_path=/${MOUNT_POINT}
setup_disk_name=${MOUNT_POINT}

#检测磁盘数量
sysDisk=$(cat /proc/partitions | grep -v name | grep -v ram | awk '{print $4}' |
  grep -v '^$' | grep -v '[0-9]$' | grep -v 'vda' | grep -v 'xvda' |
  grep -v 'sda' | grep -e 'vd' -e 'sd' -e 'xvd')
if [ "${sysDisk}" == "" ]; then
  echo -e "此服务器只有一块磁盘,无法挂载"
  echo -e "Bye-bye"
  exit
fi
#检测$setup_path目录是否已挂载磁盘
mountDisk=$(df -h | awk '{print $6}' | grep $setup_disk_name)
if [ "${mountDisk}" != "" ]; then
  echo -e "$setup_path目录已被挂载,不执行任何操作"
  echo -e "Bye-bye"
  exit
fi

#检测是否有windows分区
winDisk=$(fdisk -l | grep "NTFS\|FAT32")
if [ "${winDisk}" != "" ]; then
  echo "危险 数据盘为Windows分区,为了你的数据安全,请手动挂载,本脚本不执行任何操作。"
  exit
fi

# 数据盘自动分区

disk_partition() {
  for i in $(cat /proc/partitions | grep -v name | grep -v ram | awk '{print $4}' |
    grep -v '^$' | grep -v '[0-9]$' | grep -v 'vda' | grep -v 'xvda' | grep -v 'sda' |
    grep -e 'vd' -e 'sd' -e 'xvd'); do
    #判断指定目录是否被挂载
    isR=$(df -P | grep $setup_path)
    if [ "$isR" != "" ]; then
      echo "Error: The $setup_path directory has been mounted."
      return
    fi
    isM=$(df -P | grep '/dev/${i}1')
    if [ "$isM" != "" ]; then
      echo "/dev/${i}1 has been mounted."
      continue
    fi
    #判断是否存在未分区磁盘
    isP=$(fdisk -l /dev/$i | grep -v 'bytes' | grep "$i[1-9]*")
    if [ "$isP" = "" ]; then
      #开始分区
      fdisk -S 56 /dev/$i <<EOF
n
p
1


wq
EOF

      sleep 5
      #检查是否分区成功
      checkP=$(fdisk -l /dev/$i | grep "/dev/${i}1")
      if [ "$checkP" != "" ]; then
        #格式化分区
        mkfs.ext4 /dev/${i}1
        mkdir $setup_path
        #挂载分区
        sed -i "/\/dev\/${i}1/d" /etc/fstab
        echo "/dev/${i}1    $setup_path    ext4    defaults    0 0" >>/etc/fstab
        mount -a
        df -h
      fi
    else
      #判断是否存在Windows磁盘分区
      isN=$(fdisk -l /dev/$i | grep -v 'bytes' | grep -v "NTFS" | grep -v "FAT32")
      if [ "$isN" = "" ]; then
        echo 'Warning: The Windows partition was detected. For your data security, Mount manually.'
        return
      fi

      #挂载已有分区
      checkR=$(df -P | grep "/dev/$i")
      if [ "$checkR" = "" ]; then
        mkdir $setup_path
        sed -i "/\/dev\/${i}1/d" /etc/fstab
        echo "/dev/${i}1    $setup_path    ext4    defaults    0 0" >>/etc/fstab
        mount -a
        df -h
      fi

      #清理不可写分区
      echo 'True' >$setup_path/checkD.pl
      if [ ! -f $setup_path/checkD.pl ]; then
        sed -i "/\/dev\/${i}1/d" /etc/fstab
        mount -a
        df -h
      else
        rm -f $setup_path/checkD.pl
      fi
    fi
  done
}
## 默认不提示,自动挂载,有需要可以加一个提示
while [ "$go" != 'y' ] && [ "$go" != 'n' ]; do
  read -p "Do you want to try to mount the data disk to the $setup_path directory?(y/n): " go
done

if [ "$go" = 'n' ]; then
  echo -e "Bye-bye"
  exit
fi

disk_partition
echo -e ""
echo -e "Done"
echo -e "挂载成功"

执行

自定义挂载路径,比如如下例子,将磁盘挂载到 /data目录

sh /tmp/onekey_auto_mount_disk.sh data

效果

执行过程

挂载成功

反应动力学仿真软件:Kintecus_(11).数据输入与输出解析 在反应动力学仿真软件的二次开发中,数据输入与输出解析是至关重要的步骤。正确地解析输入数据和生成输出结果不仅能够确保仿真过程的顺利进行,还可以提高仿真的准确性和效率。本节将详细介绍如何在仿真软件中实现数据输入与输出的解析,包括文件格式、数据结构、解析方法以及实际操作示例。 阅读详情

相关推荐

飞书应用开发脚手架lark-harness:从零构建企业级机器人

在构建企业级应用时,开发脚手架是提升工程效率和规范性的关键工具。其核心原理在于通过预设的项目模板、最佳实践和通用模块封装,自动化处理项目初始化、配置管理和基础架构搭建。这种技术价值在于将开发者从重复性劳动中解放出来,确保团队技术栈统一,并降低维护成本。在Node.js生态中,脚手架常与Express或Koa等Web框架结合,用于快速构建Web服务、API接口和实时事件处理系统。具体到飞书开放平台开发场景,开发者需要处理OAuth 2.0授权、事件订阅验证、消息加解密等复杂且标准的流程。lark-harnes

weixin_30703911的博客 612

一键挂载linux数据盘脚本

如果你有一个数据盘,但是懒得一步步去挂载。可以使用下边脚本部署。

weixin_42152235的博客 773

从摄像头选型到PCB布线:搞懂MIPI CSI带宽计算,避免你的嵌入式项目翻车

本文详细解析了MIPI CSI带宽计算在嵌入式项目中的关键作用,从摄像头选型到PCB布线提供全流程指导。通过实际案例和计算公式,帮助工程师准确计算带宽需求,避免图像丢帧和系统崩溃问题,同时优化PCB设计确保信号完整性。

weixin_30533109的博客 376

磁盘自动挂载脚本

本次脚本只考虑已添加磁盘但是未分区,执行脚本挂载,暂不考虑其他(如:已分区未挂载等情况,如有需求可以改动)文件及卷组名称也可作为参数传入。

D的博客 1062

win10 离线安装.Net Framework3.5

起因,安装软件比如3dmax2014等需要.Net Framework3.5支撑,那么需要安装低版本的.Net Framework3.5 闲话少说。 1.下载 NetFx3.cab 链接: https://pan.baidu.com/s/124to7F3BOy4yAlY61OjbDg 提取码: kixu 2.将NetFx3.cab 放入 系统盘的windows目录下(示例 C:\Wi...

m0_37615458的博客 7718

WRF实战:自定义Vtable解析ECMWF海温数据的关键步骤与技巧

本文详细介绍了在WRF模型中自定义Vtable以解析ECMWF海温数据的关键步骤与技巧。通过解剖GRIB文件、编写自定义Vtable条目以及配置METGRID.TBL,解决了ECMWF数据与WRF模型对接的难题,为海洋气象和台风模拟研究提供了高精度数据输入方案。

weixin_29279101的博客 335

Python分区并挂载硬盘脚本

重要:执行时不会判断所挂载的目录是否有文件!直接挂载原有目录会隐藏原来的文件,Umount即可。验证挂载目录和开机自启。

checkjiji的博客 973

C#怼倍福TwinCAT3:ADS协议封装实战(附完整读写源码+避坑清单)

变量名大小写敏感:PLC里定义的是GVL.bStart,你写GVL.BStart绝对读不到;数组访问格式:PLC数组是,C#里读单个元素要写,读整个数组不用写索引;句柄要释放:用创建的句柄,一定要用using包起来,否则会占着资源;PLC必须运行:哪怕变量定义对了,PLC没Run(只是Login)也读不到数据;路由配置:如果上位机和PLC不在一个网段,要在TwinCAT3里添加路由(Router→Edit Routes)。倍福ADS通信其实不难,核心就是“配置对+变量名写对+数据类型匹配”。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 949

Jtti:在Linux下怎么自动创建分区格式化且挂载硬盘的脚本

在使用脚本时,请确保替换脚本中的硬盘设备、分区大小、挂载点等参数为你实际的需求。此外,谨慎使用脚本,特别是在生产环境中,请在测试环境中先进行验证。在 Linux 下,你可以使用脚本自动创建分区、格式化磁盘并挂载硬盘。请注意,这只是一个简单的示例脚本,使用前请确保了解脚本中的参数和操作,并根据实际需求进行修改。# 更新 /etc/fstab 以在启动时自动挂载。echo "磁盘分区、格式化和挂载成功!# 分区1的挂载点和文件系统类型。# 分区2的挂载点和文件系统类型。# 要创建的分区数量。

JttiSEO的博客 639

泛微OA集成阿里云短信(E9保姆教程)

泛微OA集成阿里云短信(E9保姆教程)

技术分享 515

Windows 11 安装 MySQL 8.4:安装包方式、下载、安装、使用

本文详细介绍了在 Windows 11 系统下通过 MSI 安装包方式安装 MySQL 8.4 LTS 社区版的完整流程,包括版本选择、下载、自定义安装路径、服务配置、日志设置、示例数据库创建及后续使用方法。同时提供了命令行客户端与图形化工具 DBeaver 的连接与操作演示,适合初学者和开发者快速搭建本地 MySQL 开发环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 2260

mount挂载脚本-懂哥出版

【代码】mount挂载脚本-懂哥出版。

喝醉酒的小白 321

lammps教程:实例讲解npt、nvt系综的选择

对于lammps新手来说,系综的选择令人困惑,到底是应该用nvt系综还是npt系综? 我在初学lammps时就被这个问题困扰了很久。如果去问别人,可能会告诉你一个答案:根据模拟需要确定。 其实和没说一样。 到底如何确定系综,确实不是一句两句能够说清楚的,不同的体系、不同的模拟目的要选择不同的系综。 前几天遇到的一个合金的模拟案例,比较有代表性,分享出来供大家参考。 建模方法和之前介绍过的高熵合金建模方法类似,先建立单晶模型,然后使用替换原子的命令获得合金结构。 建模完成后,按照常规,先上nvt系综进行驰豫

lammps_jiayou的博客 9767

滴滴云GPU云主机使用EBS数据盘

滴滴云 云主机已经上线了 “通用型” 云主机,所谓通用型云主机主要区别于本地盘的云主机,即使用了高可用云盘以保障数据的安全的云主机。同样,通用型 GPU 云主机可以使用高可用云盘作为系统盘和数据盘。 对于系统盘的选定,用户在购买时就需要选择使用云盘系统盘还是本地数据盘,但无论选择哪一种都无需更多的配置。 数据盘相对而言具有一定的灵活性,用户可以在购买时选定数据盘,也可以在购买了本地盘 VM 后根据...

AI早餐汇 578

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

京东云-数据盘挂载

【代码】京东云-数据盘挂载。

孙玉杰的博客 353

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

auto_mount.sh — 跨发行版数据盘自动挂载脚本

文章摘要 auto_mount.sh是一个跨发行版的Linux数据盘自动挂载脚本,支持CentOS、openEuler和Ubuntu等系统。主要功能包括自动识别空闲磁盘、分区格式化、挂载配置,支持xfs/ext4文件系统。脚本具有安全特性:交互确认、系统盘保护、fstab备份、UUID挂载等。提供自动发现和指定磁盘两种模式,支持dry-run预演和remount数据迁移。核心流程包含依赖自愈、系统盘识别、占用检查等模块,通过日志记录和错误处理确保操作安全可靠。后续可扩展LVM支持、多分区配置等功能。

tobias的博客 339

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

CENTOS 7 踢用户_CentOS云主机安装Qradar SIEM 7.4

点击上方蓝字,关注米迦勒兵团,关注安全、技术与生活总结写在最前面:QRadar SIEM的安装介质ISO文件,包含底层操作系统定制的Redhat和Qradar软件模块,所以之前写的图文安装教程是最简单的安装方式,是直接从ISO引导启动安装,完全一键式简易安装。而云主机通常已经给定了底层系统,本次接触的云厂商的是CentOS,其他几家也类似。安装稍微需要有点折腾,但整体难度不大,主要是两点...

weixin_39549852的博客 474

磁盘分区脚本

AWS上的linux云主机如果是用自己创建的镜像文件安装的,默认是没有创建swap分区,并且数据盘也没有挂载的。需要手动分区并挂载 下面是用来分区的脚本。 执行此脚本会创建两个分区,一个swap分区 另一个是数据盘分区,挂载到/data目录下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

weixin_34071713的博客 247

轻量云主机与云主机区别

这是一篇轻量云主机与云主机的区别解析,帮助有需求的用户去解答疑惑,正确地选择到对应产品。

weixin_72255945的博客 930

linux云主机数据盘的设备名,腾讯云服务器Centos挂载数据盘的方法

第一、检查硬盘设备是否有数据盘# 先执行fdisk -l# 以下是执行结果Disk /dev/vda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical):...

weixin_29545089的博客 227

磁盘挂载和Kafka概念和使用场景理解

本文用图文结合的方式系统讲解了Kafka的核心概念和配置要点。主要内容包括:1)磁盘挂载原理及其在Kafka中的应用;2)Topic的物理实现方式(分区+三副本机制);3)客户端自动创建Topic的配置建议;4)Java运行环境的必要性说明。文中通过类比数据库表结构解释Kafka的存储模型,强调三副本机制需要至少3台Broker节点,并澄清了Leader/Follower的动态选举特性。最后提供速查表总结了关键知识点,帮助读者快速掌握Kafka部署的核心要素。

m0_74486034的博客 1579

Argo部署记录

准备工作 1.购买一台云主机,硬件配置为:4核16G+100G系统盘+200G数据盘,系统版本如下: [root@iZuf6cub1nwgqq8z1ol7v9Z ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux releas...

LindenTao 1848

云主机迁移产品实践II

对于Linux 磁盘IO流程,所有的块IO都需要经过通用块层(Block Layer)处理,这一层主要实现BIO调度逻辑,比如将一个大BIO请求拆分为多个小的BIO请求,将相邻的BIO请求合并,实现各种BIO调度等。这样做的目的,不仅可以监控发送进度,而且不过多占用源端主机硬件资源,实现基于去重,压缩方式的可控发送。自定义 Bitmap 是记录磁盘数据变化的位图信息,如下图所示,2 号和 6 号分片数据发生变化,那么此时磁盘的 Bitmap 可以示意为 010001。使用简单,功能全面,开销较小。

u013214505的博客 1404

OneinStack一键安装tomcat,jdk,mysql到Linux

安装步骤注意1. 云主机请注意安全组,参考:《云主机安全组端口开放教程》2. 如果有单独数据盘,建议您先挂载数据盘,建议将网站内容、数据库放在数据盘中。如何挂载数据盘,请参考(支持阿里云、腾讯云):《如何利用脚本自动化挂载数据盘?》yum -y install wget screen curl python #for CentOS/Redhat # apt-get -y install wget ...

Buggggggg 1530

阿里云服务器配置

一提到云主机,大家肯定熟知国内最知名品牌——阿里云了后来居上的它受到不少的站长所追捧,它的稳定与服务让它的性价比直线上升,如果想做个小站,又想速度上去,阿里云也是一个不错的选择。用过阿里云的站长都知道,阿里云主机是需要自己动手配置的,一些站长就有夸大其词说“没有一定的技术,最好不要用阿里云”。其实,配置阿里云主机也不是很难,只要按照本文的方法一步一步去做...

weixin_34228617的博客 128
上一篇: RocketMQ Dashboard开启登录认证
下一篇: 一键清理Docker磁盘文件
Jeff Dauglas
博客等级 码龄14年 1176粉丝 11原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值