武林风云之一个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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python学习笔记25 - 一些案例

1. 输出金陵前五钗 2. 向文件输出信息 3. 打印彩色字 4. print函数、进制转换 5. 猜数游戏 6. 输出ASCII码对应的字符 7. 计算100~999之间的水仙花数 8. 千年虫数组的索引及其值 9. 星座zip dict 10. 12306车次信息 11. 字符串的格式化 12. 手动抛出异常 13. 计算圆的面积和周长…

杰发科技AC7840——CAN通信简介(4)_过滤器设置

0. 简介 注意:过滤器最高三位用不到,因此最高位随意设置不影响过滤器。 1. 代码分析 注意设置过滤器数量 解释的有点看不懂 详细解释...也看不大懂 Mask的第0位是0,其他位都是1(就是F?),那就指定了接收值就是这个数,…

版本控制工具Git的使用

1、Git的基本概念和使用 1、Git是什么? ● Git: 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 ● GitHub: 全球最大的面向开源及私有软件项目的托管平台,免费注册并且可以免费托管开源代码。 ● GitLab:与GitHub类似&a…

ChatGLM3初体验

mac本地化部署ChatGLM3 写在前面环境准备1. python环境2. 安装第三方依赖torch3.下载模型 代码准备1.clone代码 run效果 写在前面 建议直接去看官方文档 https://github.com/THUDM/ChatGLM3?tabreadme-ov-file 环境准备 1. python环境 python -V ## 3.11.42. 安装第三方依…

标注平台工作流:如何提高训练数据质量与管理效率

世界发展日益依托数据的驱动,企业发现,管理不断增长的数据集却愈发困难。数据标注是诸多行业的一个关键过程,其中包括机器学习、计算机视觉和自然语言处理。对于大型语言模型(LLM)来说尤是如此,大型语言模型…

[大模型]Yi-6B-chat WebDemo 部署

Yi-6B-chat WebDemo 部署 Yi 介绍 由60亿个参数组成的高级语言模型 Yi LLM。为了促进研究,Yi 已经为研究社区开放了Yi LLM 6B/34B Base 和 Yi LLM 6B/34B Chat。 环境准备 在autodl平台中租一个3090等24G显存的显卡机器,如下图所示镜像选择PyTorch–…

leecode438 | 找到所有字符串中的异位词

题意大致是&#xff0c;给定两个字符串&#xff0c;s 和 p 其中 要在s 中找到由p的元素组成的子字符串&#xff0c;记录子字符串首地址 class Solution { public:vector<int> findAnagrams(string s, string p) {int m s.size(), n p.size();if(m < n)return {};vec…

vue-router 原理【详解】hash模式 vs H5 history 模式

hash 模式 【推荐】 路由效果 在不刷新页面的前提下&#xff0c;根据 URL 中的 hash 值&#xff0c;渲染对应的页面 http://test.com/#/login 登录页http://test.com/#/index 首页 核心API – window.onhashchange 监听 hash 的变化&#xff0c;触发视图更新 window.onhas…

谷歌关键词优化全攻略提高曝光率-华媒舍

现如今&#xff0c;互联网已成为信息获取的主要渠道&#xff0c;而搜索引擎则是人们寻找信息的首选工具之一。其中&#xff0c;谷歌作为全球最大的搜索引擎&#xff0c;其搜索结果的排名直接影响着网站的曝光率和流量。了解并掌握谷歌关键词优化的技巧&#xff0c;成为提升网站…

MySQL-多表查询:多表查询分类、SQL99语法实现多表查询、UNION的使用、7种SQL JOINS的实现、SQL99语法新特性、多表查询SQL练习

多表查询 1. 一个案例引发的多表连接1.1 案例说明1.2 笛卡尔积&#xff08;或交叉连接&#xff09;的理解1.3 案例分析与问题解决 2. 多表查询分类讲解分类1&#xff1a;等值连接 vs 非等值连接等值连接非等值连接 分类2&#xff1a;自连接 vs 非自连接分类3&#xff1a;内连接…

团结引擎+OpenHarmony 1配置篇

团结引擎OpenHarmony 1 配置篇 app团结鸿蒙化第一课一 DevEco Studio 下载安装二 团结引擎三 出包 app团结鸿蒙化第一课 1 团结引擎配置2 DevEco Studio 配置 一 DevEco Studio 下载安装 申请开发者套件 1 注册华为账号 签署协议 官网 2 认真填写 DevEco Studio 开发套件申请…

高清4路HDMI编码器JR-3214HD

产品简介&#xff1a; JR-3214HD四路高清HDMI编码器是专业的高清音视频编码产品&#xff0c;该产品具有支持4路高清HDMI音视频采集功能&#xff0c;4路3.5MM独立外接音频输入&#xff0c;编码输出双码流H.264格式&#xff0c;音频MP3/AAC格式。编码码率可调&#xff0c;画面质…

预约系统的使用

预约系统的使用 目录概述需求&#xff1a; 设计思路实现思路分析1.用户年规则 在 预约系统中的使用流程 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wa…

[图像处理] MFC OnMouseMove()绘制ROI矩形时的闪烁问题

文章目录 问题对策代码完整工程 结果使用Picture控件的RedrawWindow()的效果使用Dialog的RedrawWindow()的效果使用Picture控件的RedrawWindow()&#xff0c;ROI绘制到图像外的效果 结论 问题 最近想通过业余时间&#xff0c;写一个简单的图像处理软件&#xff0c;一点点学习图…

测试计划和测试报告

1、软件测试计划简介 测试计划&#xff0c;一般是主管写&#xff0c;在需求分析之后&#xff0c;测试工作开始之间做的一些准备划工作。一般包含以下内容&#xff1a;5W1H 目的、测试范围、测试进度安排、测试人员、测试环境、测试方法工具&#xff0c;风险评估 &#xff08;w…

如何在 MySQL 中开启日志记录并排查操作记录

在数据库管理中&#xff0c;能够追踪和审查操作记录是至关重要的。这不仅有助于识别和分析正常的数据库活动&#xff0c;还可以在数据泄露或未经授权的更改发生时进行调查和响应。本文将介绍如何在 MySQL 中开启通用日志记录&#xff0c;并如何排查操作记录。 开启 MySQL 通用…

2024/4/14周报

文章目录 摘要Abstract文献阅读题目创新点CROSSFORMER架构跨尺度嵌入层&#xff08;CEL&#xff09;CROSSFORMER BLOCK长短距离注意&#xff08;LSDA&#xff09;动态位置偏置&#xff08;DPB&#xff09; 实验 深度学习CrossFormer背景维度分段嵌入&#xff08;DSW&#xff09…

1.0 Hadoop 教程

1.0 Hadoop 教程 分类 Hadoop 教程 Hadoop 是一个开源的分布式计算和存储框架&#xff0c;由 Apache 基金会开发和维护。 Hadoop 为庞大的计算机集群提供可靠的、可伸缩的应用层计算和存储支持&#xff0c;它允许使用简单的编程模型跨计算机群集分布式处理大型数据集&#xf…

SAFe认证Leading SAFe官方认证班/Leading SAFe领导大规模敏捷认证课

课程简介 SAFe – Scaled Agile Framework是目前全球运用最广泛的大规模敏捷框架&#xff0c;也是全球敏捷相关认证成长最快、最被认可、最有价值的规模化敏捷认证&#xff0c;目前全球SAFe认证专业人士已达120万人。 据官方统计&#xff0c;获得新证书的IT专业人士的平均工资…

排序算法之快速排序

目录 一、简介二、代码实现三、应用场景 一、简介 算法平均时间复杂度最好时间复杂度最坏时间复杂度空间复杂度排序方式稳定性快速排序O( N N N log ⁡ 2 N \log_{2}N log2​N)O( N N N log ⁡ 2 N \log_{2}N log2​N)O(n^2)O( log ⁡ 2 N \log_{2}N log2​N)In-place不稳定 稳…