博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
白电迁移-Auto fdisk
阅读量:7141 次
发布时间:2019-06-28

本文共 5021 字,大约阅读时间需要 16 分钟。

==============================

fdisk /dev/vdb

n
p

1

 

w

fdisk -l

cd /

mkdir /data

mkfs.ext4 /dev/vdb1

mount /dev/vdb1 /data

df -h

==============================

/dev/vdb1               /data                   ext4    defaults        0 0

==============================

 

#!/bin/bash# BLOG:  https://blog.linuxeye.com# Project home page:#       https://oneinstack.com#       https://github.com/lj2007331/oneinstackexport PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binexport LANG=en_US.UTF-8clearprintf "########################################################################       OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+      ##                             Auto fdisk                              ##       For more information please visit http://oneinstack.com       ########################################################################"echo=echofor cmd in echo /bin/echo; do        $cmd >/dev/null 2>&1 || continue        if ! $cmd -e "" | grep -qE '^-e'; then                echo=$cmd                break        fidoneCSI=$($echo -e "\033[")CEND="${CSI}0m"CDGREEN="${CSI}32m"CRED="${CSI}1;31m"CGREEN="${CSI}1;32m"CYELLOW="${CSI}1;33m"CBLUE="${CSI}1;34m"CMAGENTA="${CSI}1;35m"CCYAN="${CSI}1;36m"CSUCCESS="$CDGREEN"CFAILURE="$CRED"CQUESTION="$CMAGENTA"CWARNING="$CYELLOW"CMSG="$CCYAN"# Check if user is root[ $(id -u) != "0" ] && { echo "${CFAILURE}Error: You must be root to run this script${CEND}"; exit 1; } MOUNT_DIR=/dataFSTAB_FILE=/etc/fstabcount=0TMP1=/tmp/.tmp1TMP2=/tmp/.tmp2> $TMP1> $TMP2# check lock file, one time only let the script run one time LOCKfile=/tmp/.$(basename $0)if [ -f "$LOCKfile" ];then    echo    echo "${CWARNING}The script is already exist, please next time to run this script${CEND}"    echo    exitelse    echo    echo "${CMSG}Step 1.No lock file, begin to create lock file and continue${CEND}"    echo    touch $LOCKfilefi# check disk partitioncheck_disk() {    > $LOCKfile    for i in `fdisk -l | grep "Disk" | grep "/dev" | awk '{print $2}' | awk -F: '{print $1}' | grep "vd"`    do        if [ -z "$(blkid | grep -v 'PTTYPE="dos"' | grep -w "$i")" ];then            DEVICE_COUNT=$(fdisk -l $i | grep "$i" | awk '{print $2}' | awk -F: '{print $1}' | wc -l)            NEW_MOUNT=$(df -h)            if [ $DEVICE_COUNT -lt 2 ];then                if [ -n "$(echo $NEW_MOUNT | grep -w "$i")" -o "$(grep -v '^#' $FSTAB_FILE | grep -v ^$ | awk '{print $1,$2,$3}' | grep -w "$i" | awk '{print $2}')" == '/' -o "$(grep -v '^#' $FSTAB_FILE | grep -v ^$ | awk '{print $1,$2,$3}' | grep -w "$i" | awk '{print $3}')" == 'swap' ];then                    echo "${CWARNING}The $i disk is mounted${CEND}"                else                    echo $i >> $LOCKfile                    echo "You have a free disk, Now will fdisk it and mount it"                fi            fi        fi    done    DISK_LIST=$(cat $LOCKfile)    if [ "X$DISK_LIST" == "X" ];then        echo        echo "${CWARNING}No free disk need to be fdisk. Exit script${CEND}"        echo        rm -rf $LOCKfile        exit 0    else        echo "${CMSG}This system have free disk :${CEND}"        for i in `echo $DISK_LIST`        do            echo "$i"            count=$((count+1))        done        [ $count -gt 1 ] && { echo "${CWARNING}This system has at least two free disk, You must manually mount it${CEND}"; exit 0; }     fi}# check oscheck_os() {    os_release=$(grep "Aliyun Linux release" /etc/issue 2>/dev/null)    os_release_2=$(grep "Aliyun Linux release" /etc/aliyun-release 2>/dev/null)    if [ "$os_release" ] && [ "$os_release_2" ];then        if echo "$os_release" | grep "release 5" >/dev/null 2>&1;then            os_release=aliyun5            modify_env        fi    fi}# install ext4modify_env() {    modprobe ext4    yum -y install e4fsprogs}# fdisk ,formating and create the file systemfdisk_fun() {fdisk -S 56 $1 << EOFnp1wqEOFsleep 5mkfs.ext4 ${
1}1}# make directorymake_dir() { echo "${CMSG}Step 4.Begin to make directory${CEND}" [ -d "$MOUNT_DIR" ] && mv ${MOUNT_DIR}{,_bk} mkdir -p $MOUNT_DIR echo "$MOUNT_DIR" >> $TMP1}# config /etc/fstab and mount devicemain() { for i in `echo $DISK_LIST` do echo echo "${CMSG}Step 3.Begin to fdisk free disk${CEND}" [ -n "`df -h | grep ${i}1`" ] && { echo "${CFAILURE}The ${i}1 already mount${CEND}"; echo; exit 0; } fdisk_fun $i > /dev/null 2>&1 echo echo "${i}1" >> $TMP2 done make_dir > $LOCKfile paste $TMP2 $TMP1 > $LOCKfile echo echo "${CMSG}Step 5.Begin to write configuration to /etc/fstab and mount device${CEND}" while read a b do [ -z "`grep ^${a} $FSTAB_FILE`" -a -z "`grep ${b} $FSTAB_FILE`" ] && echo "${a} $b ext4 defaults 0 0" >> $FSTAB_FILE done < $LOCKfile mount -a echo}# start scriptecho "${CMSG}Step 2.Begin to check free disk${CEND}"#service mysqld stop#mv /data /rootcheck_oscheck_diskmaindf -h#mv /root/data/* /data#service mysqld startrm -rf $LOCKfile $TMP1 $TMP2
Auto fdisk

 

转载于:https://www.cnblogs.com/baxk/p/6108298.html

你可能感兴趣的文章
SpringBoot使用Nacos配置中心
查看>>
星矿科技完成千万元融资,专注明星IP价值商业化
查看>>
SOP 1.2.0 发布,开放平台解决方案项目
查看>>
Element 2.6.3 发布,基于 Vue 2.0 的桌面端组件库
查看>>
丰田研发智能汽车FV2,可利用肢体进行操控
查看>>
基于kubeadm的kubernetes高可用集群部署
查看>>
定位「数字化助手」,腾讯想用服务创新助力产业智慧升级
查看>>
golang之sync.Mutex互斥锁源码分析
查看>>
SAP增强的PA教材内容
查看>>
jQuery系列 第八章 jQuery框架Ajax模块
查看>>
OpenCV中原始图像加载与保存压缩技巧
查看>>
MySQL 8复制性能的增强
查看>>
C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码
查看>>
Java 模拟基于UDP的Socket通信
查看>>
我要做 Android 之Fragment
查看>>
有关 Windows Lite 的一切,只为对抗 Chrome OS?
查看>>
Android 自定义控件之SlidingMenuVertical顶部悬浮(垂直折叠抽屉,有滑动渐变回调,可自行添加渐变动画)...
查看>>
NG-ZORRO 7.0.1 发布,Ant Design 的 Angular 实现
查看>>
Django 2.0 model on_delete错误小记
查看>>
ffmpeg中的sws_scale算法性能测试
查看>>