shell❀linux系统磁盘快速挂载执行脚本(代码片段)

无糖可乐没有灵魂 无糖可乐没有灵魂     2022-11-30     541

关键词:

文章目录

1 脚本代码详解


#!/bin/bash

echo "------------------------------------BEGIN------------------------------------"
# 判断默认安装路径是否为/dev/sda
if [ "$1" = "" ];then
  DISK=`lsblk |grep disk|grep -v sda|awk 'print $1'`
  echo " The default installation path is sda !"
else  
  DISK=`lsblk |grep disk|grep -v $1|awk 'print $1'`
  echo " The customized installation path is $1 !"
fi

# 磁盘分区函数
function PartedDisk

    for disk in $DISK
    do
        echo " Starting parted Disk $disk "
        parted -s /dev/$disk mklabel gpt &> /dev/null
        # 配置标签gpt
        parted -s /dev/$disk mkpart primary ext4  0 100% &> /dev/null
        # 配置分区名称、主从分区、分区格式、起始位置、结束位置
    done
    echo -e "\\033[32;40m All disk parted Done! \\033[0m"
    # 黑底绿色回显
    sleep 1s


# 格式化函数
function FormatDisk

    for disk in $DISK
    do
        echo " Starting format Disk $disk "
        mkfs.ext4 -F /dev/$disk1 &> /dev/null
        # 修改磁盘文件系统为ext4
    done
    echo -e "\\033[32;40m All disk format Done!!! \\033[0m"
    sleep 1s


# 挂载点创建函数
function MakeDir

    cd /home
    for disk in $DISK
    do
        echo " Starting make the $disk mount diretory! "
        mkdir -pv /home/$disk &> /dev/null
        # 创建挂载点目录,如/home/sda
    done
    echo -e "\\033[32;40m MakeDir Done!! \\033[0m"
    sleep 1s


# 挂载磁盘分区
function MountDisk

    for disk in $DISK
    do
        echo " Starting change aoto-mount file! "
        uuid=`blkid /dev/$disk1|awk 'print $2'|awk -F "\\"" 'print $2'`
        # 获取UUID
        echo "UUID=$uuid /home/$disk               ext4    defaults        1 2" >>uuid.txt
        # 配置自动挂载信息
    done
    cat uuid.txt >> /etc/fstab
    # 将自定义挂载文件信息定向至自动挂载文件


# 判断磁盘是否已经挂载
function Check_Disk

    for disk in $DISK
    do
        # 不返回查询
        cat /etc/fstab | grep -q $disk  
        # 校验前面查询是否执行成功,成功返回值为0;
        if  [[ $? -eq 0 ]];then
            # 若磁盘被挂载,则返回错误信息
            echo -e "\\033[31;40m ERROR,$disk is currently mounted, failed to mount again \\033[0m" 
        else
            # 若磁盘未被挂载,则执行前面函数,并执行一次后,退出循环
            PartedDisk&&FormatDisk&&MakeDir&&MountDisk 
            break
        fi
    done


# 函数调用
Check_Disk
# 执行挂载并查看结果
mount -a 
echo "---------------------------------MountStatus---------------------------------"
cat -n /etc/fstab | grep -i UUID
echo "-------------------------------------END-------------------------------------"

2 代码执行结果


此脚本执行时需要指定一个参数,该参数为Linux系统安装磁盘位置,若为/dev/sdc,只需要输入sdc即可,默认参数为sda;

2.1 使用默认系统路径执行脚本

2.2 使用指定系统路径执行脚本

2.3 磁盘已经完成挂载,执行代码将返回错误

3、脚本参数调整


  • 第21行可修改磁盘分区情况,依次为分区名称、主从分区、分区格式、起始位置、结束位置,修改位置~ primary ext4 0 100%
  • 第35行可修改磁盘格式化文件系统,修改位置mkfs.ext4
  • 第49行可修改挂载节点目录,修改位置/home/$disk,需要注意的是$disk为变量;
  • 第64行为配置系统自动挂载信息,可根据自定义情况进行修改;
  • 第84行为执行函数操作的相关命令,修改需注意;
  • 第93行执行挂载命令;

linux之shell脚本实战监控系统的磁盘空间使用率(代码片段)

【Linux之Shell脚本实战】监控系统的磁盘空间使用率一、脚本要求二、检查本地系统环境1.检查系统版本2.检查系统内核版本三、编写disk.sh脚本1.创建脚本目录2.编写disk.sh脚本3.执行测试脚本四、查看脚本执行日志文件五、本次实... 查看详情

linux挂载磁盘怎么开机

在Linux系统中挂载磁盘,可以使用mount命令。在开机后可以检查fstab文件,如果有相应的设定,系统会自动挂载到指定的位置。另外也可以在/etc/rc.local中定义挂载磁盘的shell脚本,以实现开机时自动生效。参考技术A要想在开机时... 查看详情

shell❀linux系统自动挂载本地yum源并安装rpm依赖包(代码片段)

文章目录1、脚本代码详解2、代码执行结果3、脚本参数调整1、脚本代码详解#/bin/bashecho"------------------------------------BEGIN------------------------------------"#配置本地yum源文件functioncreate_yum echo-e"\\033[32;40mThelocalso 查看详情

linux文件系统开机自动挂载的脚本在哪一个目录下

...像,线上环境没用过,配置远比上两个复杂。参考技术A系统开机自动运行的脚本文件:/etc/rc.local直接修改这个文件就可以自动挂载相关的文件夹。当然,你也可以修改/etc/fstab来自动挂载。也可以修改autofs的相关配置自动挂载。... 查看详情

linux下所谓的挂载是啥意思?请给一个很详细的回答。谢谢

挂载的含义:一般,挂载是指linux系统挂载一个iso文件到系统中,然后自动概念。这个概念值得是在开机的时候系统自动将一些工作做完。一、自动挂载如何实现1、查看系统开机启动文件是哪个(不同的系统,启动文件位置不同... 查看详情

shell变量和环境变量

什么是shellshell快速入门将指令传给系统内核,中间的介质,可以是命令,也可以是脚本(逻辑判断等)Linux系统的shell分类,默认bash执行方式给shell脚本可执行权限,./去执行文件使用解释器执行shell脚本文件,就可以不用给文件... 查看详情

linux系统shell脚本之用户管理脚本实战(代码片段)

Linux系统shell脚本之用户管理脚本实战一、脚本要求二、脚本内容三、执行脚本1.正确执行脚本2.错误执行脚本一、脚本要求1.使用usage函数,列出该脚本的帮助选项2.检查该脚本的执行用户,若非root用户,直接退出3.该脚本可以管... 查看详情

华为云之evs云硬盘的使用与快速入门(代码片段)

...速入门一、EVS云硬盘介绍二、购买ECS云服务器1.创建windows系统的ECS云主机2.创建Linux系统的ECS云主机三、创建EVS云硬盘四、云硬盘挂载windows系统的ECS1.挂载云硬盘windows2.登录到windows的ECS云主机3.查看磁盘列表4.初始化磁盘5.新建卷6... 查看详情

磁盘分区脚本

AWS上的linux云主机如果是用自己创建的镜像文件安装的,默认是没有创建swap分区,并且数据盘也没有挂载的。需要手动分区并挂载下面是用来分区的脚本。执行此脚本会创建两个分区,一个swap分区另一个是数据盘分区,挂载到/d... 查看详情

linux下每天自动执行查看磁盘剩余空间的shell文件

...互的接口,所以通过一些命令,我们可以使用shell来进行系统磁盘的信息收集和分析,然后进行进一步的操作shell进行磁盘监控需要使用的命令有1.df-查看分区大小2.du-查看磁盘空间命令3.fdisk-分区表查看命令4.其他一些小的linux命... 查看详情

linux系列教程(二十)——linux的shell概述以及如何执行脚本

...用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序。    比如,我们现在操作的界面就是shell,我们输入一些命令,通过shell去翻译为机器语言,然... 查看详情

linux之shell编程(代码片段)

...一个用C语言编写的程序,通过Shell用户可以访问操作系统内核服务。它类似于DOS下的command和后来的cmd.exe。Shell既是一种命令语言,又是一种程序设计语言。Shellscript是一种为shell编写的脚本程序。Shell编程一般指shell脚本... 查看详情

linux之shell编程(代码片段)

...一个用C语言编写的程序,通过Shell用户可以访问操作系统内核服务。它类似于DOS下的command和后来的cmd.exe。Shell既是一种命令语言,又是一种程序设计语言。Shellscript是一种为shell编写的脚本程序。Shell编程一般指shell脚本... 查看详情

shell编程详解(代码片段)

...收用户输入的命令,并把它送入内核去执行。内核是Linux系统的心脏,从开机自检就驻留在计算机的内存中,直到计算机关闭为止,而用户的应用程序存储在计算机的硬盘上,仅当需要时才被调入内存。Shell是一种应用程序,当... 查看详情

linux定时清理磁盘日志文件——shell脚本

crontab定时任务,每小时执行一次以下脚本点击查看代码#!/bin/bash#clearthediskin$log_dirwhendiskisalmostfull#log_dir='/data_logs_bak/sytLog/'log_disk='/data_lo本文来自博客园,作者:一只PIA,转载请注明原文链接:https://www.cnblogs.com/sar 查看详情

linux怎么设置开机自动挂载

参考技术A磁盘自动挂载有三种方法(按推荐度排序):1.写在/etc/fstab里面,如图:2.把完整的挂载命令写在/etc/rc.local里面,这个文件是linux启动最后一个运行的脚本,写在里面的可以在开机前最后一个脚本执行。3.linux的触发式... 查看详情

centos磁盘管理

...unt、fsck命令等命令执行都都会用到fstab信息,它提供的是系统上挂载设备的静态信息,比如mount-a就会挂载/etc/fstab里面指定的文件系统。当执行mount-a时只会挂载那些存在于/etc/fstab中的项目却未挂载的,已经挂载的不受影响。/etc/... 查看详情

linux系统shell脚本之监控httpd服务(代码片段)

Linux系统shell脚本之监控httpd服务一、脚本要求二、脚本内容三、执行脚本1.服务正常进行时检测2.服务故障时检测一、脚本要求1.要求监控服务器的httpd服务是否启动,并且脚本运行后,输出检测结果2.无论检测结果如何,脚本执... 查看详情