欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux 自動(dòng)分區(qū)、格式化、掛載腳本詳解

 更新時(shí)間:2016年12月27日 15:19:17   投稿:lqh  
這篇文章主要介紹了Linux 自動(dòng)分區(qū)、格式化、掛載腳本詳解的相關(guān)資料,自動(dòng)檢測(cè)是否有尚未分區(qū)的數(shù)據(jù)盤,格式化新的數(shù)據(jù)盤并自動(dòng)掛載,需要的朋友可以參考下

自動(dòng)分區(qū)、格式化、掛載腳本

功能:自動(dòng)檢測(cè)是否有尚未分區(qū)的數(shù)據(jù)盤,格式化新的數(shù)據(jù)盤并自動(dòng)掛載

解決了什么問題:一鍵式檢測(cè)是否有尚未分區(qū)的數(shù)據(jù)盤,并能對(duì)其格式化和自動(dòng)掛載,省去了復(fù)雜的命令和步驟

執(zhí)行方法:以root身份執(zhí)行命令

wget http://mirrors.linuxeye.com/scripts/auto_fdisk.sh
chmod +x auto_fdisk.sh
./auto_fdisk.sh

結(jié)果:出現(xiàn)如下即自動(dòng)分區(qū)、格式化、掛載成功:

腳本內(nèi)容如下:

#!/bin/bash
# Author: yeho <lj2007331 AT gmail.com>
# BLOG: https://blog.linuxeye.com
#
# Notes: OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+
#
# Project home page:
#    http://oneinstack.com
#    https://github.com/lj2007331/oneinstack
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
clear
printf "
#######################################################################
#    OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+   #
#               Auto fdisk               #
#    For more information please visit http://oneinstack.com    #
#######################################################################
"
echo=echo
for cmd in echo /bin/echo; do
    $cmd >/dev/null 2>&1 || continue
    if ! $cmd -e "" | grep -qE '^-e'; then
        echo=$cmd
        break
    fi
done
CSI=$($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=/data
FSTAB_FILE=/etc/fstab
count=0
TMP1=/tmp/.tmp1
TMP2=/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
  exit
else
  echo
  echo "${CMSG}Step 1.No lock file, begin to create lock file and continue${CEND}"
  echo
  touch $LOCKfile
fi
# check disk partition
check_disk() {
  > $LOCKfile
  for i in `fdisk -l | grep "Disk" | grep "/dev" | awk '{print $2}' | awk -F: '{print $1}' | grep "vd"`
  do
    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
  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 os
check_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 ext4
modify_env() {
  modprobe ext4
  yum -y install e4fsprogs
}
# fdisk ,formating and create the file system
fdisk_fun() {
fdisk -S 56 $1 << EOF
n
p
1
wq
EOF
sleep 5
mkfs.ext4 ${1}1
}
# make directory
make_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 device
main() {
  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 $ $FSTAB_FILE`" ] && echo "${a} $b   ext4  defaults   0 0" >> $FSTAB_FILE
  done < $LOCKfile
  mount -a
  echo
}
# start script
echo "${CMSG}Step 2.Begin to check free disk${CEND}"
#service mysqld stop
#mv /data /root
check_os
check_disk
main
df -h
#mv /root/data/* /data
#service mysqld start
rm -rf $LOCKfile $TMP1 $TMP2

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • centos下root運(yùn)行Elasticsearch異常問題解決

    centos下root運(yùn)行Elasticsearch異常問題解決

    這篇文章主要介紹了centos下root運(yùn)行Elasticsearch異常問題解決的相關(guān)資料,Elasticsearch異常問題解決辦法詳細(xì)介紹,需要的朋友可以參考下
    2016-11-11
  • Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等)

    Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等)

    這篇文章主要介紹了Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Linux(ubuntu)下實(shí)現(xiàn)增加/刪除文件權(quán)限

    Linux(ubuntu)下實(shí)現(xiàn)增加/刪除文件權(quán)限

    下面小編就為大家分享一篇Linux(ubuntu)下實(shí)現(xiàn)增加/刪除文件權(quán)限,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 用DNSPod和Squid打造自己的CDN (七) 配置Squid

    用DNSPod和Squid打造自己的CDN (七) 配置Squid

    首先我們要明白一下squid在CDN中扮演的角色,squid在CDN中其實(shí)只是一個(gè)+緩存,跟一般的服務(wù)器類似,squid代替用戶向真正有內(nèi)容的服務(wù)器進(jìn)行請(qǐng)求,并且緩存下來
    2013-04-04
  • 一步步教你如何開啟、關(guān)閉ubuntu防火墻

    一步步教你如何開啟、關(guān)閉ubuntu防火墻

    這篇文章主要給大家介紹了關(guān)于如何開啟、關(guān)閉ubuntu防火墻的相關(guān)資料,文中將ubuntu系統(tǒng)中防火墻的安裝以及使用介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • linux中pwd命令使用詳解

    linux中pwd命令使用詳解

    這篇文章主要詳細(xì)介紹了linux中pwd命令使用方法,及常用的實(shí)例分享,非常的全面,有需要的小伙伴們仔細(xì)研讀下吧
    2015-01-01
  • Linux date命令的使用

    Linux date命令的使用

    這篇文章主要介紹了Linux date命令的使用,幫助大家更好的理解和學(xué)習(xí)Linux,感興趣的朋友可以了解下
    2020-08-08
  • linux下安裝PyQt5+qt-esigner教程

    linux下安裝PyQt5+qt-esigner教程

    文章介紹了在Linux下安裝PyQt5和Qt Designer,并詳細(xì)描述了如何將.ui文件編譯為.py文件,以及如何編寫主文件來運(yùn)行生成的.py文件,步驟包括安裝PyQt5和Qt Designer、使用pyuic命令編譯.ui文件、在.bashrc中添加快捷方式,并編寫主文件導(dǎo)入生成的.py文件
    2025-01-01
  • Linux下如何啟動(dòng)Oracle命令

    Linux下如何啟動(dòng)Oracle命令

    這篇文章主要介紹了Linux下如何啟動(dòng)Oracle命令問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Linux的壓縮和解壓縮的方法總結(jié)

    Linux的壓縮和解壓縮的方法總結(jié)

    這篇文章主要介紹了Linux的壓縮和解壓縮的方法總結(jié)的相關(guān)資料,通過本文希望大家能掌握Linux 壓縮和解壓縮的知識(shí),需要的朋友可以參考下
    2017-08-08

最新評(píng)論