҉人间无事人
不要假装很努力,坚持下去,就会有收获。
展开
-
linux巡检脚本【cpu使用率、内存使用率、IO速度、磁盘使用率、检查异常IP流量等等】以及批量执行方式、查看bond网卡状态是否up脚本
bin/bash# 定义一些变量IO_SPEED_THRESHOLD=10000 # 假设IO速度阈值是10000MB/sDISK_USAGE_THRESHOLD=85 # 假设磁盘使用率阈值是85%# 检查CPU使用率echo "检查CPU使用率..."\1thenecho "警告: CPU使用率过高: ${CPU_USAGE}%"elseecho "CPU使用率正常: ${CPU_USAGE}%"fi# 检查内存使用率echo "检查内存使用率..."then。原创 2024-08-05 14:00:00 · 127 阅读 · 0 评论 -
linux批量查看主机时间核对方法
因为我只需要时间和ip,所以用普通用户执行date就可以了。格式如下,我是习惯分开存放。原创 2024-05-22 16:17:39 · 607 阅读 · 1 评论 -
linux中用shell脚本定时备份重要日志等文件【命令结果输出也在内。按月份自动创建时间自动规划到月份中】、linux中用shell脚本备份文件并自动scp汇总到一个服务器上
至于归类,大概就是下面样子,下面已经展现出了批量自动创建文件夹和创建每个目录下的日期文件。思路,归类文件夹以ip分类最轻松,然后ip中在创建每个月执行的时间文件,时间文件中就存放日志脚本咯。现在甲方有一个需求:要求每月备份系统日志。原创 2023-12-29 18:31:13 · 1254 阅读 · 0 评论 -
脚本实现将多个以当天日期命名的文件按列合并展示方法、expect脚本只有第一个span有值的解决方法、Shell编程数组用法、paste命令【多个文件按列合并】、diff【多个文件对比】
每天的巡检脚本中有这么一行内容echo -e "\033[31m 正在写入date信息到 /teamsun/date/date。原创 2023-12-04 16:04:06 · 902 阅读 · 0 评论 -
函数调用的形式写一个动态监控secure日志文件的sh脚本、过滤出secure日志异常用户名的ip并用iptables限制、expect批量安装docker脚本
因为这个登录失败的日志刷新太快,所以先随便导出几个,方便后续代码做测试用,如下都是失败的信息。放到定时任务中,每分钟执行一次。原创 2023-11-28 22:49:47 · 1096 阅读 · 0 评论 -
expect执行卡主【识别不了“*]#“】解决方法、自定义用户名密码linux脚本批量巡检服务器的iptables服务是否正常、linux脚本批量巡检服务器的某个服务是否正常
【代码】expect执行卡主【识别不了"*]#"】解决方法、自定义用户名密码linux脚本批量巡检服务器的iptables服务是否正常、linux脚本批量巡检服务器的某个服务是否正常。原创 2023-08-09 17:08:48 · 223 阅读 · 0 评论 -
sh嵌入expect,批量用普通用户登录到虚拟机,再su-到root用户执行任何命令的万金油自动化脚本【以虚拟机间自动执行scp拷贝数据为例展示】
【代码】sh嵌入expect,批量用普通用户登录到虚拟机,再su-到root用户执行任何命令的万金油自动化脚本【以虚拟机间自动执行scp拷贝数据为例展示】原创 2023-02-27 12:41:51 · 147 阅读 · 0 评论 -
expect脚本中使用scp命令的方法,expect脚本中scp命令获取不了值的问题完美解决方法
其实我之前文章中已经有说过这个的解决方法expect结合scp自动输入密码的脚本提取linux主机的ip和其mac地址、scp结合expect使用【不用spawn启动scp】、while遍历目录获取所有文件名称【cat文件>>到同一目录】但是今天,我在expect中使用scp的时候,我又忘了上面脚本中已经遇到过这个问题,所以一直报错,搞得我真是难受,好久才想起来之前遇到过的,但想起了没用啊,发现本次的需求和上一次的根本不一样,不能直接套现来用,所以我觉得有必要单独拿一个文章来说说这个问题!!!!标题中你可原创 2022-06-24 23:26:38 · 1099 阅读 · 0 评论 -
expect脚本中使用普通用户执行sh脚本命令,expect脚本中解决``反引号获取值有问题方法、expect遍历登录不同主机不同密码的主机执行指定命令方法
如果你第一次接触该脚本,不建议在生产环境上测试,再测试虚拟机上做测试【要养成一个习惯,当你不知道或不完全确定自己再干啥,以及不确定某个命令会带来的后果前,不要再生产环境上做任何操作和测试】最后实在没办法了,登录到测试的主机上单独查看了下配置文件,一看,脑壳痛,不晓得是哪个神仙新建了一个bak文件夹,我的天了,哪有这么备份网卡文件的啊。我测试是分了几个阶段来的,先测试命令,命令没问题了再将命令放到脚本中,脚本中没问题了,最后再批量执行。我以为是哪里取值出错了,一直反复修改测试。原创 2022-09-07 19:07:34 · 564 阅读 · 0 评论 -
交互式脚本遍历ip和密码登录到主机执行任何命令通用版、执行交互式脚本报错root@xxx‘s password: missing close-bracket处理方法
说明我们有三四五期的物理机,每次做变动都是几百台底层物理机同步操作,其实我放了蛮多脚本,其中很多都是复用的,但后面改来改去,发现自己有点懵逼了,有点看不懂这些脚本了。。。。而且每次之前用过的再用的时候,因为脚本被我改了,我又得改回去,有点繁琐了所以我这次决定重新弄个脚本,专门用来做偶尔需要做些操作,但后面不会重复的那种命令,比如新建用户了之类的,这个脚本呢其实是通用的,我不会对脚本做说明,看不懂的翻看我之前的脚本,里面都有详细的说明的,这次的脚本满足下面条件1、物理机的ip和密码是遍历文件夹的原创 2022-04-19 12:01:06 · 3284 阅读 · 0 评论 -
expect结合scp自动输入密码的脚本提取linux主机的ip和其mac地址、scp结合expect使用【不用spawn启动scp】、while遍历目录获取所有文件名称【cat文件>>到同一目录】
说明今天又有一个新需求提取所有物理机的IP和其对应的mac地址。实现过程【你也思考一下我下面的每一步咋实现】1、分别提取每台的ip和mac并记录到文件中【也可以手动复制记录,但我这几百台,不可能每一台都手动复制的】2、汇总每一台文件中记录的IP和mac到一台主机上面。3、将汇总的文件分别提取并汇总到一个文件中。4、导出该文件中的内容即可。1、2:提取IP和mac单台单台提取很简单【IP有修改】[root@node-2 ccx]# sh test.sh 192.16原创 2022-05-12 18:32:45 · 887 阅读 · 0 评论 -
linux批量配置iptables防火墙【expect】
文章目录前提准备环境说明iptebls的rpm包准备和安装iptables配置rpm包和文件拷贝代码执行效果安装和启动服务代码执行效果前提准备环境说明我的镜像挂载ip:192.168.59.133脚本执行IP:192.168.59.133测试机器:192.168.59.128-130iptebls的rpm包准备和安装服务器上的镜像必须挂载【后面所有服务器均从这用scp拷贝这个镜像rpm包】iptables安装很简单,一个包就可以了,在主服务器上上传一台和当前系统一致的镜像,进到镜像中的原创 2021-05-21 17:29:38 · 729 阅读 · 0 评论 -
shell写一个openstack快速查看脚本——应用于业务服务器中
在虚拟化运维中 有些信息是每天需要关注的 为了方便起见 可以直接把这些代码写进脚本中 输入数字即查看对应内容。因为需要使用环境变量 所以执行脚本的时候 和普通脚本略有不同! 需要用source执行脚本,否则环境变量无法执行,这里简单说明一下source命令:source filename 、当前bash环境下读取并执行filename中的命令。下面开始shell脚本:执行脚本后如下...原创 2019-09-30 11:34:40 · 17490 阅读 · 1 评论 -
linux交互式脚本_普通用户自动su - 到root执行相关命令
文章目录说明expect命令准备代码说明脚本执行说明这种情况仅适合单台主机上运行哈,使用普通用户登陆到该主机上,然后直接执行这个脚本,就可以自动切换到root用户,并执行相关命令了。如果需要批量的话【比如有20台主机,就是在一台上面执行,自动遍历其他的19台主机】,就将下面代码加入遍历功能即可,我shell分类中有详细的说明的,自己去翻来套入即可。expect命令准备如果通外网,直接执行:yum -y install expect如果没有通外网,可以用ISO镜像配置本地源【如果不会原创 2021-09-16 16:20:38 · 4530 阅读 · 0 评论 -
shell写一个半自动监控脚本
文章目录说明demo需求思路代码扩展功能说明呃。这里主要是说一下思路, 毕竟需求确定以后,代码都可以实现。首先写一个 脚本,实现你想定时查看的内容或某功能 然后写入到某文件中, 脚本写好以后,加入到定时任务,多少时间运行一次该脚本(多少时间写入一次内容到指定文件)。demo需求比如,我现在想知道 ceph 每分钟的 io状态。需求就是这个,要知道ceph每分钟的io状态。思路想知...原创 2020-04-01 16:07:47 · 1171 阅读 · 0 评论 -
expect数组遍历ip密码使用scp自动输入密码拷贝文件
文章目录说明代码执行结果说明代码不做说明了,之前已经做过很多详细详细的说明,只是遇到了不同的使用场景,记录一下而已。代码因为是在生产环境执行的脚本,所以下面的ip有修改过。[root@controller01 ccx]# cat iptables.sh #!/bin/bash# 这个是IP地址文件,格式为:IP 密码#file=/root/ccx/iplist.txtfile=/root/ccx/ip4.txtcat $file|while read linedo# 定义一个a数组原创 2021-09-24 09:37:17 · 3232 阅读 · 0 评论 -
linux自动配置bond0脚本、bond0和bond1双链路脚本、批量配置bond脚本步骤
文章目录说明执行成功的界面如下脚本内容说明bond0脚本其实就是把手动修改的内容变成一键修改而已,所以,理论上,只要会手动配置链路,就知道配置链路脚本的原理的,所以就不对脚本内容做解析了,只对脚本需要修改的内容做详细说明;注:如果不会配置双网卡的,去好好研究研究这篇博客,跟着走几遍就懂了:超详细linux手动配置单网卡和双网卡(bond0和team)以及DNS,ps:使用命令配置执行成功的界面如下脚本内容注意:本脚本默认一键配置bond0和bond1双联路,如果仅仅是需要配置一个bond0,原创 2021-04-26 17:55:00 · 6387 阅读 · 9 评论 -
sh嵌入expect执行批量创建用户并用数组形式为该用户创建不同密码并rpm安装某命令【含passwd username 的方式修改密码】
文章目录说明流程执行结果一览代码存放ip、root密码和xz_tyng密码执行脚本文件执行方式说明说明需求:现在有一批虚拟机,需要做如下配置:1、修改sshd配置文件2、创建一个xz_tyng用户3、新增用户创建密码且不同服务器的xz_tyng用户密码不能相同4、拷贝2个包并用rpm安装5、启动rpm安装的包命令并加入开启自启动流程执行结果一览注:下面仅仅是一台服务器执行全部功能的结果一览,因为是生产环境的ip,所以下面所有ip有做替换,无需纠结ip问题[root@ustc-x原创 2021-11-02 18:21:59 · 211 阅读 · 0 评论 -
expect遍历密码形式设置用户密码【含sh嵌入expect和纯expect两种方式(对应不同场景)】
文章目录说明sh结合expect【适合免密或能root直登的形式】代码说明脚本执行并测试纯expect【适合限制root登陆】代码说明脚本执行并测试关于\的使用说明说明expect需要转义的字符串sh中expect的3个\说明纯expect中的1个`\`说明说明expect遍历密码形式设置用户密码,这个标题可能有点难理解,但需求就是这么个意思:比如我有100台主机,100台主机里面均需要新建一个用户,如xz_tyng,并且每个主机的用户密码不一样,就是实现这样的需求,我应该说明白了吧。同样需原创 2021-09-16 16:18:54 · 3308 阅读 · 0 评论 -
shell写一个自动遍历服务器的脚本
根据需求实现相应功能,比如:自动ssh登陆若干服务器 并且在若干服务器中执行固定命令。学过开发的应该知道“包”的概念,就是一个包仅实现一个功能,后面需要的时候调用即可,这种在一定程度上解决了大量代码的可观性和可易改性, shell 也一样,也可以有包的概念,就是 一个vim文件实现一个功能,后面直接调用即可;这里我实现的功能是 每天跑一遍脚本,查看筛选后每台服务器的 / 目录使用情况 并且把...原创 2019-10-11 11:30:12 · 17423 阅读 · 2 评论 -
Shell 脚本进阶,经典用法详解及其案例【条件选择判断、循环语句、循环用法、信号捕捉、脚本小知识】
文章目录一、条件选择、判断1、条件选择if经典案例:判断年纪经典案例:判断分数2、条件判断 case(1)用法格式经典案例:判断yes or no二、四个循环1、for用法格式执行机制经典案例:求出(1+2+...+n)的总和2、while用法格式特殊用法(遍历文件的每一行):经典案例:100以内所有正奇数之和3、until 循环用法经典案例:监控xiaoming用户,登录就杀死4、select 循环与菜单用法经典案例:生成菜单,并显示选中的价钱三、循环里的一些用法1、循环控制语句语法经典案例:求(1+3+原创 2022-01-12 11:09:22 · 445 阅读 · 0 评论 -
shell提取命令结果的多个参数【openstack底层获取数据】
文章目录说明思路分析脚本内容依次获取获取所有虚拟机ip获取UUID脚本内容执行方式和返回结果通过uuid获取其他信息脚本内容执行方式和返回结果说明现在有这么一个需求,就是获取下面信息然后填到表格里面。最后获取到的信息就是这样的啦,然后考到表里面即可,perfect!思路分析因为需求的数据都是可以从openstack底层获取数据的,所以我们可以通过下面3个步骤获取完1、获取所有虚拟机ip2、通过ip获取所有UUID3、通过UUID获取后面4项信息只要会思路,这个方法就可以应用原创 2021-10-18 17:17:20 · 3236 阅读 · 0 评论 -
linux脚本用fdisk批量给主机硬盘分区
文章目录说明fdisk分区流程【下面的不能跳过】每个区的大小计算获取使用的命令参数获取方式值提取后如下值提出来以后删除刚才创建的分区脚本测试分区是否正常脚本内容如下执行结果脚本中功能增加增加功能后的代码如下执行结果功能修改后的效果展示fdisk遍历批量分区遍历前提条件遍历脚本代码说明功能代码遍历执行代码脚本执行批量中某一台创建失败处理方法说明这个主要适用于:2T以内的新硬盘分区【含批量】同一批服务器【/dev/sdb这种名称相同】需批量服务器之间网络需要打通fdisk分区流程【下面的不原创 2021-06-10 15:54:22 · 8698 阅读 · 0 评论 -
expect批量遍历ip执行指定代码【真香警告】
文章目录真香原因定义密码方式代码展示执行方式与效果免密方式代码展示执行方式与效果真香原因我只说一个,如果要重启其他服务器的某个服务,除了expect方式,常规shell怎么造都不行【话就摆这了,被打脸了我再删掉】而expect是不支持任何遍历语法的,所以利用EOF遍历expcet,简直不要太香了【也不知道是EOF香还是expect香】定义密码方式代码展示expect有一个很奇怪的问题,如果expect使用免密登陆的,执行过程会很慢。而如果是使用了下面这定义密码的方法,超级快,后果就是密码原创 2021-05-21 18:03:57 · 429 阅读 · 0 评论