zoukankan      html  css  js  c++  java
  • [脚本]为所有节点挂载磁盘

    1. 循环遍历所有节点

    #!/bin/bash
    
    IpPrefix=192.168.1.
    User=root
    Pwd=000000
    
    for((i=84;i<148;i++))
    do
    {
            ./remote.exp $IpPrefix$i $User $Pwd  >> tmp/$i
            echo "$i done!"
    }&
    done

    2. 拷贝文件到所有节点

    #!/usr/local/bin/expect -f
    
    set timeout -1
    
    set IpAddr [lindex $argv 0]
    set User [lindex $argv 1]
    set Pwd [lindex $argv 2]
    
    spawn ssh $User@$IpAddr "cd /home/; rm -rf packages/; mkdir packages"
    expect  {
            "yes/no" { send "yes
    "; expect "*assword:" { send "$Pwd
    " } }
            "*assword:*" { send "$Pwd
    "; }
    }
    expect eof
    
    spawn scp -r packages $User@$IpAddr:/home/
    expect "*assword:*" { send "$Pwd
    "; }
    expect eof
    
    spawn ssh $User@$IpAddr "cd /home/packages;./install.sh;"
    expect "*assword:*" { send "$Pwd
    "; }
    expect "*mount finished*" { send 003 }
    expect eof

    3. 所有节点上执行脚本

    packages/install.sh

    #!/bin/bash
    ./installExpect.sh
    disk=`sh getDisk.sh`
    disk="${disk////\/}"
    flag=`blkid | awk "/^${disk}/" | cut -d '"' -f 4`
    if [ "$flag" == "ext4" ]; then
            echo "Already mkfs..."
    else
            ./mkfs.exp
    fi
    tune2fs -c -1 -i 0 /dev/sdb
    mv /home/iscas/ /home/iscas2/
    mkdir /home/iscas/
    UUID=`tune2fs -l /dev/sdb | awk '/^Filesystem UUID:/{print $3}'`
    echo -e "UUID=$UUID	/home/iscas	ext4	defaults	1	2"  >> /etc/fstab
    
    mount -a
    mv /home/iscas2/* /home/iscas/
    rm -rf /home/iscas2/
    
    echo "mount finished"

    4. 获取节点最大磁盘名称

    packages/getDisk.sh

    #!/bin/bash
    disk=`fdisk -l 2>/tmp/null | awk 'BEGIN{Max=0} {if($0~/^Disk //){if($3>Max){disk=$2}}} END{print disk}' | cut -d : -f 1`
    echo $disk

    5. 格式化最大磁盘

    packages/mkfs.exp

    #!/usr/bin/expect -f
    
    set timeout -1
    set disk [exec sh getDisk.sh]
    spawn mkfs -t ext4 $disk
    expect  "(y,n)" { send "y
    ";}
    expect eof

    6. 挂载磁盘并设置属性

    tune2fs -c -1 -i 0 /dev/sdb
    mkdir /home/iscas/
    UUID=`tune2fs -l /dev/sdb | awk '/^Filesystem UUID:/{print $3}'`
    echo -e "UUID=$UUID	/home/iscas	ext4	defaults	1	2"  >> /etc/fstab
    mount -a
  • 相关阅读:
    Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等) 转载
    FCKeditor 2.6 + Asp.Net 设置
    19个常用.net webservice服务集合
    ASP.NET Session无法使用或易丢失
    javascript实现缩略图
    Asp.net Excel导入或导出
    smarty截取中文乱码问题解决办法转载
    Git学习
    Android活动(Activity)的基本介绍
    Android活动(Activity)Toast和Menu
  • 原文地址:https://www.cnblogs.com/dorothychai/p/4487380.html
Copyright © 2011-2022 走看看