҉人间无事人
发光不是太阳的权利,每个人都可以。
展开
-
linux中cpu内存浮动占用,C++文件占用cpu内存、定时任务不运行报错(root) PAM ERROR (Permission denied)
停止占用,直接kill进程即可(有定时任务,还得同步删定时任务中的内容,有检测脚本进程也得删)我找了一台其他正常的主机把crond文件内容替换了,具体是哪行影响的我没测试。g++包,我这是centos7通用的,centos8不可用。注:最好文件像我上面一样分开存放。我这就是第三个问题导致的。原创 2025-05-21 18:40:04 · 167 阅读 · 0 评论 -
系统级/etc/crontab添加定时任务流程,脚本批量部署cpu内存占用流程、b脚本放入定时任务调用a脚本,a脚本被正常调用但a脚本中代码没有正常执行解决方案
简单来说就是cron任务中的环境变量和我手动执行的环境变量不一致,所以导致我内存出现这种问题,至于为什么cpu没问题,因为cpu是纯代码,而内存用到了rpm包的文件,cron中的环境变量没法调用rpm包的文件啊!如果想让普通用户执行任务,应使用 crontab -e 编辑用户自己的 crontab,而不是修改 /etc/crontab。如,我现在的free_use.sh代码已经更新,我需要给所有机器迭代这个脚本文件,那么我需要做的就是,因为我要批量部署,只能通过/etc/crontab文件级实现咯。原创 2025-05-14 09:31:28 · 67 阅读 · 0 评论 -
linux动态占用内存脚本、根据阈值增加占用或取消占用内存的脚本、自动检测占用脚本状态,多脚本套用
为什么执行要带详细路径,因为我检测脚本中的详细路径,ps看到的进程就是带详细路径的,如果我不带详细路径,那么会出现下面呢2个进程。脚本一共有3个,我单独用一个文件夹作为存放路径,建议和我路径保持一致,避免脚本中因为路径没修改完导致的报错。这个我没有测试,因为开多个占用进程不生效,只能有一个占用进程生效的,所以我开了这个窗口啥都没做。下面代码执行占用测试,看是否成功,20为需要占用的百分比。注:脚本即使意外停止了,不影响占用的存在哈,是独立的。如果想避免麻烦,建议下面3个脚本名称也和我保持一致。原创 2025-05-09 12:22:37 · 123 阅读 · 0 评论 -
linux动态占用cpu脚本、根据阈值增加占用或取消占用cpu的脚本、自动检测占用脚本状态、3脚本联合套用。
新开一个窗口开占用。模拟大于80的场景,会动态调整的。脚本没问题,后续这个脚本要放定时任务中的,看最后使用说明中。我kill掉该进程在执行试,会给我自动生成,没问题。这个脚本就测试的时候用,和停止的时候用。cpu占用实现的功能整体流程。使用,是查看当前使用率的。三分钟输出一次,稳定的。直接使用这个代码就行。原创 2025-05-08 12:23:42 · 335 阅读 · 0 评论 -
linux批量使用多个用户名登录脚本、为了给主机增加一个指定用户名的登录记录、无需root密码的主机切换到root方式
理论上是不允许无需root密码直接su到root用户的,需要配置,至于咋配置,我就不说了,毕竟不提倡,只是让你了解这样可行。所以我简单提一下就好了,通过普通用户登录上该主机以后,直接。我这弄了2个用户的,还可以增加许多自定义命令,比如用这个用户登录上去执行一些巡检命令之类的。因为ip已经在脚本中定义好了,所以可以直接执行,下面放了一个ip的循环内容。可以给脚本一个执行权限,如果只是手动执行需求,给不给都一样。像我们这,做了合规,每次登录就能看到登录用户信息。给主机增加指定用户名的登录记录,如下,常规。原创 2025-03-11 16:49:43 · 123 阅读 · 0 评论 -
脚本中有SCRIPT_DIR=“$(cd “$(dirname “${BASH_SOURCE[0]}“)“ && pwd)“,定时任务需要加什么配合使用?、脚本中获取脚本文件所在路径的方式
这行代码是 Bash 脚本中常见的一段,用于确定脚本文件所在的目录,并将其存储在变量 SCRIPT_DIR 中。:这部分代码获取当前执行的脚本文件(即包含这段代码的脚本)的目录路径。BASH_SOURCE[0] 是一个特殊变量,它包含了当前脚本的完整路径。dirname 命令用于从路径中去除文件名,只留下目录路径。:这个命令会改变当前工作目录到 dirname 命令的输出目录。由于这是一个命令替换(command substitution),其输出(即新的目录路径)会被赋值给 SCRIPT_DIR 变量。原创 2024-11-07 10:12:36 · 214 阅读 · 0 评论 -
linux的CPU占用脚本-进阶版、内存占用-进阶版。所谓进阶版就是更适合长期用该脚本占用使用率~
如果不想看到一条线,可以搞一个占用脚本,cpu核数取随机值,然后脚本固定运行5分钟,然后放定时任务,7分钟执行一次,这样值就会有比较波动的变化。注意 调用的数值(30是百分比,就是占用百分之30的cpu)可根据自身需求调整,一般不低于30。额外说一下,因为这个占用值比较固定,如果本身进程不是特别大,占用后监控看到的其实是一条线。ufree为占用内存的比例文件,下面num就是需要占用的比列。—nohup:忽略输入并将标准错误重定向至标准输出。的话,就会生成mail提醒,如下。如,我现在占用50%的内存。原创 2024-10-24 10:45:00 · 173 阅读 · 0 评论 -
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 · 366 阅读 · 0 评论 -
linux批量查看主机时间核对方法
因为我只需要时间和ip,所以用普通用户执行date就可以了。格式如下,我是习惯分开存放。原创 2024-05-22 16:17:39 · 771 阅读 · 1 评论 -
linux中用shell脚本定时备份重要日志等文件【命令结果输出也在内。按月份自动创建时间自动规划到月份中】、linux中用shell脚本备份文件并自动scp汇总到一个服务器上
至于归类,大概就是下面样子,下面已经展现出了批量自动创建文件夹和创建每个目录下的日期文件。思路,归类文件夹以ip分类最轻松,然后ip中在创建每个月执行的时间文件,时间文件中就存放日志脚本咯。现在甲方有一个需求:要求每月备份系统日志。原创 2023-12-29 18:31:13 · 1483 阅读 · 0 评论 -
脚本实现将多个以当天日期命名的文件按列合并展示方法、expect脚本只有第一个span有值的解决方法、Shell编程数组用法、paste命令【多个文件按列合并】、diff【多个文件对比】
每天的巡检脚本中有这么一行内容echo -e "\033[31m 正在写入date信息到 /teamsun/date/date。原创 2023-12-04 16:04:06 · 982 阅读 · 0 评论 -
函数调用的形式写一个动态监控secure日志文件的sh脚本、过滤出secure日志异常用户名的ip并用iptables限制、expect批量安装docker脚本
因为这个登录失败的日志刷新太快,所以先随便导出几个,方便后续代码做测试用,如下都是失败的信息。放到定时任务中,每分钟执行一次。原创 2023-11-28 22:49:47 · 1193 阅读 · 0 评论 -
expect执行卡主【识别不了“*]#“】解决方法、自定义用户名密码linux脚本批量巡检服务器的iptables服务是否正常、linux脚本批量巡检服务器的某个服务是否正常
【代码】expect执行卡主【识别不了"*]#"】解决方法、自定义用户名密码linux脚本批量巡检服务器的iptables服务是否正常、linux脚本批量巡检服务器的某个服务是否正常。原创 2023-08-09 17:08:48 · 312 阅读 · 0 评论 -
sh嵌入expect,批量用普通用户登录到虚拟机,再su-到root用户执行任何命令的万金油自动化脚本【以虚拟机间自动执行scp拷贝数据为例展示】
【代码】sh嵌入expect,批量用普通用户登录到虚拟机,再su-到root用户执行任何命令的万金油自动化脚本【以虚拟机间自动执行scp拷贝数据为例展示】原创 2023-02-27 12:41:51 · 181 阅读 · 0 评论 -
expect脚本中使用scp命令的方法,expect脚本中scp命令获取不了值的问题完美解决方法
其实我之前文章中已经有说过这个的解决方法expect结合scp自动输入密码的脚本提取linux主机的ip和其mac地址、scp结合expect使用【不用spawn启动scp】、while遍历目录获取所有文件名称【cat文件>>到同一目录】但是今天,我在expect中使用scp的时候,我又忘了上面脚本中已经遇到过这个问题,所以一直报错,搞得我真是难受,好久才想起来之前遇到过的,但想起了没用啊,发现本次的需求和上一次的根本不一样,不能直接套现来用,所以我觉得有必要单独拿一个文章来说说这个问题!!!!标题中你可原创 2022-06-24 23:26:38 · 1239 阅读 · 0 评论 -
expect脚本中使用普通用户执行sh脚本命令,expect脚本中解决``反引号获取值有问题方法、expect遍历登录不同主机不同密码的主机执行指定命令方法
如果你第一次接触该脚本,不建议在生产环境上测试,再测试虚拟机上做测试【要养成一个习惯,当你不知道或不完全确定自己再干啥,以及不确定某个命令会带来的后果前,不要再生产环境上做任何操作和测试】最后实在没办法了,登录到测试的主机上单独查看了下配置文件,一看,脑壳痛,不晓得是哪个神仙新建了一个bak文件夹,我的天了,哪有这么备份网卡文件的啊。我测试是分了几个阶段来的,先测试命令,命令没问题了再将命令放到脚本中,脚本中没问题了,最后再批量执行。我以为是哪里取值出错了,一直反复修改测试。原创 2022-09-07 19:07:34 · 654 阅读 · 0 评论 -
交互式脚本遍历ip和密码登录到主机执行任何命令通用版、执行交互式脚本报错root@xxx‘s password: missing close-bracket处理方法
说明我们有三四五期的物理机,每次做变动都是几百台底层物理机同步操作,其实我放了蛮多脚本,其中很多都是复用的,但后面改来改去,发现自己有点懵逼了,有点看不懂这些脚本了。。。。而且每次之前用过的再用的时候,因为脚本被我改了,我又得改回去,有点繁琐了所以我这次决定重新弄个脚本,专门用来做偶尔需要做些操作,但后面不会重复的那种命令,比如新建用户了之类的,这个脚本呢其实是通用的,我不会对脚本做说明,看不懂的翻看我之前的脚本,里面都有详细的说明的,这次的脚本满足下面条件1、物理机的ip和密码是遍历文件夹的原创 2022-04-19 12:01:06 · 3395 阅读 · 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 · 1003 阅读 · 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 · 812 阅读 · 0 评论 -
shell写一个openstack快速查看脚本——应用于业务服务器中
在虚拟化运维中 有些信息是每天需要关注的 为了方便起见 可以直接把这些代码写进脚本中 输入数字即查看对应内容。因为需要使用环境变量 所以执行脚本的时候 和普通脚本略有不同! 需要用source执行脚本,否则环境变量无法执行,这里简单说明一下source命令:source filename 、当前bash环境下读取并执行filename中的命令。下面开始shell脚本:执行脚本后如下...原创 2019-09-30 11:34:40 · 17554 阅读 · 1 评论 -
linux交互式脚本_普通用户自动su - 到root执行相关命令
文章目录说明expect命令准备代码说明脚本执行说明这种情况仅适合单台主机上运行哈,使用普通用户登陆到该主机上,然后直接执行这个脚本,就可以自动切换到root用户,并执行相关命令了。如果需要批量的话【比如有20台主机,就是在一台上面执行,自动遍历其他的19台主机】,就将下面代码加入遍历功能即可,我shell分类中有详细的说明的,自己去翻来套入即可。expect命令准备如果通外网,直接执行:yum -y install expect如果没有通外网,可以用ISO镜像配置本地源【如果不会原创 2021-09-16 16:20:38 · 4764 阅读 · 0 评论 -
shell写一个半自动监控脚本
文章目录说明demo需求思路代码扩展功能说明呃。这里主要是说一下思路, 毕竟需求确定以后,代码都可以实现。首先写一个 脚本,实现你想定时查看的内容或某功能 然后写入到某文件中, 脚本写好以后,加入到定时任务,多少时间运行一次该脚本(多少时间写入一次内容到指定文件)。demo需求比如,我现在想知道 ceph 每分钟的 io状态。需求就是这个,要知道ceph每分钟的io状态。思路想知...原创 2020-04-01 16:07:47 · 1239 阅读 · 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 · 3300 阅读 · 0 评论 -
linux自动配置bond0脚本、bond0和bond1双链路脚本、批量配置bond脚本步骤
文章目录说明执行成功的界面如下脚本内容说明bond0脚本其实就是把手动修改的内容变成一键修改而已,所以,理论上,只要会手动配置链路,就知道配置链路脚本的原理的,所以就不对脚本内容做解析了,只对脚本需要修改的内容做详细说明;注:如果不会配置双网卡的,去好好研究研究这篇博客,跟着走几遍就懂了:超详细linux手动配置单网卡和双网卡(bond0和team)以及DNS,ps:使用命令配置执行成功的界面如下脚本内容注意:本脚本默认一键配置bond0和bond1双联路,如果仅仅是需要配置一个bond0,原创 2021-04-26 17:55:00 · 6650 阅读 · 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 · 260 阅读 · 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 · 3374 阅读 · 0 评论 -
shell写一个自动遍历服务器的脚本
根据需求实现相应功能,比如:自动ssh登陆若干服务器 并且在若干服务器中执行固定命令。学过开发的应该知道“包”的概念,就是一个包仅实现一个功能,后面需要的时候调用即可,这种在一定程度上解决了大量代码的可观性和可易改性, shell 也一样,也可以有包的概念,就是 一个vim文件实现一个功能,后面直接调用即可;这里我实现的功能是 每天跑一遍脚本,查看筛选后每台服务器的 / 目录使用情况 并且把...原创 2019-10-11 11:30:12 · 17474 阅读 · 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 · 504 阅读 · 0 评论 -
shell提取命令结果的多个参数【openstack底层获取数据】
文章目录说明思路分析脚本内容依次获取获取所有虚拟机ip获取UUID脚本内容执行方式和返回结果通过uuid获取其他信息脚本内容执行方式和返回结果说明现在有这么一个需求,就是获取下面信息然后填到表格里面。最后获取到的信息就是这样的啦,然后考到表里面即可,perfect!思路分析因为需求的数据都是可以从openstack底层获取数据的,所以我们可以通过下面3个步骤获取完1、获取所有虚拟机ip2、通过ip获取所有UUID3、通过UUID获取后面4项信息只要会思路,这个方法就可以应用原创 2021-10-18 17:17:20 · 3288 阅读 · 0 评论 -
linux脚本用fdisk批量给主机硬盘分区
文章目录说明fdisk分区流程【下面的不能跳过】每个区的大小计算获取使用的命令参数获取方式值提取后如下值提出来以后删除刚才创建的分区脚本测试分区是否正常脚本内容如下执行结果脚本中功能增加增加功能后的代码如下执行结果功能修改后的效果展示fdisk遍历批量分区遍历前提条件遍历脚本代码说明功能代码遍历执行代码脚本执行批量中某一台创建失败处理方法说明这个主要适用于:2T以内的新硬盘分区【含批量】同一批服务器【/dev/sdb这种名称相同】需批量服务器之间网络需要打通fdisk分区流程【下面的不原创 2021-06-10 15:54:22 · 8843 阅读 · 0 评论 -
expect批量遍历ip执行指定代码【真香警告】
文章目录真香原因定义密码方式代码展示执行方式与效果免密方式代码展示执行方式与效果真香原因我只说一个,如果要重启其他服务器的某个服务,除了expect方式,常规shell怎么造都不行【话就摆这了,被打脸了我再删掉】而expect是不支持任何遍历语法的,所以利用EOF遍历expcet,简直不要太香了【也不知道是EOF香还是expect香】定义密码方式代码展示expect有一个很奇怪的问题,如果expect使用免密登陆的,执行过程会很慢。而如果是使用了下面这定义密码的方法,超级快,后果就是密码原创 2021-05-21 18:03:57 · 507 阅读 · 0 评论