码迷,mamicode.com
首页 > 其他好文 > 详细

使用sed工具处理/etc/fstab配置文件

时间:2017-08-22 10:33:23      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:使用sed工具处理/etc/fstab配置文件

使用sed工具处理/etc/fstab配置文件


背景:某行有一百多台服务器需要重新配置文件系统,原有的文件系统的内容如下:

/dev/sdb1        /data/ssd1

/dev/sdc1        /data/ssd2

/dev/sdd1        /data/disk

/dev/sde1        /data/disk2

/dev/sdf1        /data/disk3

/dev/sdg1        /data/disk4

/dev/sdh1        /data/disk5

/dev/sdi1        /data/disk6

/dev/sdj1        /data/disk7

/dev/sdk1        /data/disk8

/dev/sdl1        /data/disk9

/dev/sdm1        /data/disk10

现要求将其改为如下内容:

/dev/sdb         /data/ssd1

/dev/sdc         /data/ssd2

/dev/sdd         /data/disk

/dev/sde         /data/disk2

/dev/sdf         /data/disk3

/dev/sdg         /data/disk4

/dev/sdh         /data/disk5

/dev/sdi         /data/disk6

/dev/sdj         /data/disk7

/dev/sdk         /data/disk8

/dev/sdl         /data/disk9

/dev/sdm         /data/disk10

由于服务器数量较多和客户要求尽快处理,鉴于此,我使用shell脚本与expect脚本结合的方法进行处理,具体步骤如下:

  1. 先建立一个ip地址文件,内容如下:

    [root@ceshiji xgfs]# cat ip.txt

    192.168.100.114

    192.168.100.113

    192.168.100.112

    192.168.100.111

    192.168.100.110

    。。。。。

  2. 由于是实验,我将/etc/fstab文件复制一份到/oldboy/kewai/xgfs/pfzh,下面是expect脚本,用于完成交互,内容如下:

    [root@ceshiji xgfs]# cat fs.exp

    #!/usr/bin/expect

    set ip [lindex $argv 0]

    set timeout 60

    set password  "root"

    spawn ssh root@$ip  {sed  -i -r ‘s#/dev/sd([a-z]).*   (.*)#/dev/sd\1     \2#‘ /oldboy/kewai/xgfs/pfzh}

    expect {

    "yes/no"  {exp_send "yes\r";exp_continue}

    "*password:" {exp_send  "$password\r"}

    }

    expect eof

    exit

  3. shell脚本使用for循环,脚本内容如下:

    [root@ceshiji xgfs]# cat fs.sh

    #!/bin/bash

    for ip in $(cat /oldboy/kewai/xgfs/ip.txt)

    do

    expect fs.exp $ip

    cat /oldboy/kewai/xgfs/pfzh

    #mount -a

    #df -Th

    done

    说明:实际生产中要使用mount -a重新挂载下文件系统,使用df -Th查看下文件系统挂载情况!

  4. 执行sh -x fs.sh即可




本文出自 “圣骑士控魔之手” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1958205

使用sed工具处理/etc/fstab配置文件

标签:使用sed工具处理/etc/fstab配置文件

原文地址:http://wutengfei.blog.51cto.com/10942117/1958205

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!