武林风云之一个shell同时维护多个设备

仅以此文纪念linux中国
小y最近真的颓废了,马上就三十了,一下班整个人跟个废物一样,躺在住处刷B站,太颓废了。哎,我想这今年就收手博客了,后续不再更新。但是人不能这样,人需要和懒惰做斗争,失败归失败,态度要有。
小y最近在同时维护多台一样的设备,每次升级版本都要修改配置内容,现在就维护一点设备我都累的不行了,我想万一后期设备多了那我还睡觉吗,于是我写出此博文共大家参考。
既然在后台改参数那必须要用vim或者nano工具,但是这工具不适合写在脚本里,于是我这边还是会用之前脚本用到的工具。
假设,在设备上存在1至6 这六个文件,我需要将6台设备的ip逐一修改,并将网关统一修改且需要使用echo 输出的hellow word 改为hello y。
在这里插入图片描述因为设备出场就是默认配置,所以这里就以上述文件演示。
一阳指之sed修改文件
sed也是文本编辑器,但是sed是可以用命令直接编辑文件的,这里我们使用的参数有

sed -i 其中i表示文本内容替换,如果不加i的话,修改内容不生效 

在这里插入图片描述
不加i就是不会替换内部文件的内容,等确认无误后在加i。
在这里插入图片描述

sed -e 是表示可以同时替换多个内容,当然我亲测后不加e也是可以的

在这里插入图片描述
有时使用也会要将/mnt/USB1改成/mnt/USB2,但是在文档中有/,那么这个sed该怎么写呢?
当然是使用转义符了,及\,那么我们实验如下:
在这里插入图片描述

总结sed的用法

sed -i -e 's(替换的行号,若不加数字表示全文替换)/文本原本内容/需要替换的内容/g;s/()/()/g' 文本名称

在这里插入图片描述
已将一个设备的改好了,同时维护多个设备呢?要求ip累加,y后面跟设备号。
韩轮棍法之for循环
先看下6个文件的全部内容,确实都是出场设置
在这里插入图片描述
然后我想要不这样写吧
在这里插入图片描述

使用for循,查看打印,为理想打印
在这里插入图片描述
这么看现在设备可以自己按需求修改ip了,那接下来我是不是应该要到对于设备的IP下去改文件?
首先要保障我的设备可以ping通。
这里有个小技巧就是

ping -w 为ping的次数 比如 ping -w 3 192.168.1.21

在这里插入图片描述
设备会自动停止ping。
这里使用if判断设备是否可以ping通。
凌波微步之if判断
我是这么想的如果ping通则打印y否则则打印n,我将试列写出
在这里插入图片描述
此时正常打印
在这里插入图片描述
错误打印是这样的
在这里插入图片描述
这里用两个ip做实验当然我们的文件名也要改
在这里插入图片描述
运行脚本观察结果
在这里插入图片描述
结果正常。
佛山无影脚之scp将改好的文件逐步放置设备指定位置
小y的设备没有expect这个程序,这就让人很难受了,但是现场的设备是真的多,我随机问客户要个设备,发现他们的服务器都有expext,我猜这一定是他们的维护人员自己偷偷装的吧。
scp的用法很简单,scp就是cp不过路径是网络路径罢了。这里举个栗子。

scp -r xiaoy root@192.168.49.128:/home

这句话就是把xiaoy放到home下。实验结果如下。
在这里插入图片描述
确实把xiaoy的文件移动过去了,但是每次移动要输入密码,这就很麻烦。还好有expect
其中需要掌握

  1. spawn,这个命令是启动新的进程。
  2. expect,从进程接收字符串。
  3. send,用于向进程发送字符串。
    可以参照我这样写。
    在这里插入图片描述
    按照此图,可以顺利将文件传输至指定位置。
    最后,我需要集大成,将脚本发送至指定位置。
    九阳神功之大集成
    将上述内容集成,然后就会大成功,接下来请欣赏结果!
    在这里插入图片描述

哈中间又换了几个虚拟机,不过问题不大,话说arch没ifconfig真的难用。开始运行。

在这里插入图片描述
运行结果和我期望值是一样的,哈哈!
我又神之一笔,将之前改过的文件复原
在这里插入图片描述

查看下结果
在这里插入图片描述
结果符合预期。
补充几个知识点,如何给linux增加新的ip,在debian系中,增加ip用

ip address add 192.168.1.2/24 dev eth0

运行route后查看结果。
在这里插入图片描述
顺带提一嘴END后面不要有任何空格或者制表符,要不然会报错。
实验代码下载处:

https://download.csdn.net/download/qq_43161960/89130999
  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

璞楞登斯沃

感谢支持我会跟新更多的技术博客

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值