设为首页 收藏本站
查看: 1098|回复: 0

交互式Shell脚本实现Linux物理卷管理

[复制链接]

尚未签到

发表于 2018-8-19 12:35:51 | 显示全部楼层 |阅读模式
  # Linux LVM Tool完整版本:   http://xin23.blog.51cto.com/1827266/1198836(update 2013.5.13)
  # 脚本仅供交流学习使用!
# 脚本当前版本为1.0.实现了物理卷的创建,移除,更改(启用/禁用分配),扫描,查看功能.# 后续会补齐卷组和逻辑卷的管理,整合成一个Linux LVM TOOL.类似于AIX的SMIT.虽然,它只能管理LVM.# 脚本已在Red Hat Enterprise Linux 5.4 64bit上测试通过.原则上适用于RHEL 5和RHEL 6.# 欢迎提出改进意见.# 直接复制请注意标点符号.也可通过微盘下载文件,避免复制引起的问题:http://vdisk.weibo.com/s/zKW6M#!/bin/bash# Version 1.0# AUTHOR:Xin23 http://weibo.com/231988PV(){NextLine(){        echo ' '}Split(){        echo '-----------------------------------------------------------------------'}EchoTitle(){        echo "--------$Title-----------------------------------------"}ShowPVFirstMenu(){        echo '        Physical Volumn Main Menu        Input Number To Choose!        Create Physical Volumn ...... 1        Remove Physical Volumn ...... 2        Change Physical Volumn ...... 3        Show   Physical Volumn ...... 4        Scan   Physical Volumn ...... 5        Exit                   ...... 6'        NextLine}GetChoice(){        read -p '       Input Your Choice: ' Var        NextLine}ConfirmOperate(){        NextLine        echo "  Continue               ...... y        Return                 ...... n"        NextLine        GetChoice        NextLine        Run}Run(){        if   [ $Var == y ]             then $Parameter $Disk        elif [ $Var == n ]             then Split                  PV        else ConfirmOperate        fi}ChooseDisk(){        read -p "       Please Choose Disk:    (Example: /dev/sdc)       "  Disk        NextLine}PVChange(){        echo '  Which Operate You Want To do ?  '        NextLine        echo '        ENABLE  Allocatable    ...... y        DISABLE Allocatable    ...... n'        NextLine        GetChoice}CheckPVChange(){        if   [ $Var == y ]             then Parameter='pvchange -x y'        elif [ $Var == n ]             then Parameter='pvchange -x n'        else             PVChange        fi}PVShow(){        echo '  Which Physical Volumn You Want To Show ?        '        NextLine        echo '          All    Physical Volumn ...... 1        Single Physical Volumn ...... 2'        NextLine        GetChoice}CheckPVShow(){        if   [ $Var -eq 1 ]             then pvdisplay        elif [ $Var -eq 2 ]             then pvdisplay $Disk        fi}TestPVShow(){        if   [ $Var -eq 1 ]             then Disk=All        elif [ $Var -eq 2 ]             then EchoTitle                  NextLine                  ChooseDisk        fi}ShowPVFirstMenuGetChoicecase $Var in        "1")                Title='Create Physical Volumn'                Parameter=pvcreate                EchoTitle                NextLine                ChooseDisk                echo "  Disk $Disk Will Be Convert To Physical Volumn"                ConfirmOperate                Status=0        ;;        "2")                Title='Remove Physical Volumn'                EchoTitle                Parameter=pvremove                NextLine                ChooseDisk                echo "  Disk $Disk Will Be Remove From Physical Volumn"                ConfirmOperate                Status=0        ;;        "3")                Title='Change Physical Volumn'                EchoTitle                NextLine                PVChange                CheckPVChange                NextLine                ChooseDisk                echo "  Physical Volumn $Disk Will Be Change"                ConfirmOperate                Status=0        ;;        "4")                Title='Show   Physical Volumn'                EchoTitle                NextLine                PVShow                NextLine                TestPVShow                echo "  Physical Volumn $Disk Will Be Show"                NextLine                CheckPVShow                Status=0        ;;        "5")                Title='Scan   Physical Volumn'                EchoTitle                NextLine                pvscan                Status=0        ;;        "6")                exit 0        ;;         * )                echo '  Input Error,Retype!'                PV        ;;esacNeedContinue(){        if [ $Status -eq 0 ]           then NextLine                Split                PV        fi}NeedContinue}PV

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-553861-1-1.html 上篇帖子: 常用的bash shell脚本 一些常用的运维管理方法 下篇帖子: Linux_shell脚本_遍历文件夹下所有文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表