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

[经验分享] 使用sed工具处理/etc/fstab配置文件

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-8-22 08:35:38 | 显示全部楼层 |阅读模式
背景:某行有一百多台服务器需要重新配置文件系统,原有的文件系统的内容如下:
/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脚本结合的方法进行处理,具体步骤如下:
  • 先建立一个ip地址文件,内容如下:
    [iyunv@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
    。。。。。
  • 由于是实验,我将/etc/fstab文件复制一份到/oldboy/kewai/xgfs/pfzh,下面是expect脚本,用于完成交互,内容如下:
    [iyunv@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
  • shell脚本使用for循环,脚本内容如下:
    [iyunv@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查看下文件系统挂载情况!
  • 执行sh -x fs.sh即可





运维网声明 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.yunweiku.com/thread-403266-1-1.html 上篇帖子: Heartbeat+DRBD+NFS 构建高可用的文件系统 下篇帖子: cifs文件系统{samba文件共享服务}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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