![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell脚本
文章平均质量分 73
卷不动的程序员
计算机毕业设计五年经验,所有项目目录都已经整理在博客中,看上的可以私信,推广三十次可以免费领取一个,或者懒得小伙伴可以少量付费领取,或者点赞+评论+收藏+关注也可以领取
展开
-
shell脚本案例-Python安装脚本
安装完成后更新pip。#配置,开启ssl支持https。使用shell脚本安装Python环境。#安装前准备,安装必要依赖包。避免人工多次安装,节省人工成本。避免人工错误,提高工作效率。原创 2024-07-18 10:23:16 · 343 阅读 · 0 评论 -
shell脚本案例-nginx安装脚本
nginx安装路径,安装路径为$nginx_install_doc/nginx。#pcre-devel URL重写功能。#安装nginx需要管理员权限。#zlib-devel 压缩支持。#nginx源码包下载路径。通过shell脚本安装nginx。#nginx服务管理用户。#make 编译命令。#统计本机CPU核数。#安装前的依赖包解决。#gcc 编译命令。web服务器业务初始化。原创 2024-07-18 10:22:15 · 284 阅读 · 0 评论 -
shell脚本案例-主机状态监控脚本
1、运维人员实时掌控机器的状态,防止宕机或者由于压力过大造成请求处理延时,保障业务的稳定、高效运行。#1、ping 目标主机三次,并接收每次的状态值,ping成功返回1,不成功返回0。当你的机器放在IDC机房的时候,你如何判断各个运营商的用户到你服务器的以下数据。echo "warn: $1 网络延迟"1、通过ICMP协议的ping命令ping目标主机。1、通过监控平台调用监控脚本对服务器进行监控。echo "$1 宕机"echo "$1 正常"全部ping结果为假,报宕机。2、分析ping结果。原创 2024-07-18 10:21:33 · 221 阅读 · 0 评论 -
shell脚本案例-判断闰年
普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1900年不是闰年)世纪闰年:能被400整除的为世纪闰年。(如2000年是世纪闰年,1900年不是世纪闰年)时间计算中从某一年到某一年天数的统计 ,解决了闰年、平年的天数不同的问题。read -p "输入一个年份: " year。#Description:闰年判断脚本。echo "$year: 闰年"echo "$year: 闰年"echo "$year: 平年"#1、交互输入要判断的年。闰年判断:判断某年是否问闰年。原创 2024-07-18 10:21:01 · 355 阅读 · 0 评论 -
shell脚本案例-判断服务状态
注意 压力过大 无法响应 | 服务down了 上述东西还在 监测不准确。#1)通过systemctl service 服务启动状态。#2、测试端口 $1 IP $2 port。1、使用telnet命令连接远端机器的远端端口。#1、判断依赖命令telnet是否存在。#4)测试端口是否有响应 推荐。#3、分析文件中的内容,判断结果。#2)lsof 查看端口是否存在。#telnet 协议。#3)查看进程是否存在。2、接收连接反馈并分析结果。服务监控脚本+监控平台。原创 2024-07-18 10:20:25 · 422 阅读 · 0 评论 -
shell脚本案例-目录判断
判断/tmp/run目录是否存在,如果不存在就建立,如果存在就删除目录里所有文件。#Description: 判断/tmp/run目录是否存在。#1、判断文件夹/tmp/run目录是否存在。1. 判断文件夹/tmp/run目录是否存在。#2、存在 删除目录下内容。脚本中对文件和文件夹类型的及权限的判断。#3、不存在 退出脚本。避免文件或者文件夹的重复建立问题。2. 存在 删除目录下内容。3. 不存在 退出脚本。原创 2024-07-18 10:19:50 · 315 阅读 · 0 评论 -
shell脚本案例-监控网卡流量
echo -e "发送:\t$((NIC_TX_1-NIC_TX))B/s\t接收:\t$((NIC_RX_1-NIC_RX))B/s"echo -e "\t$1 网卡流量监控"#2、监控当前网络的流量,第二次取值。echo -e "网卡: $1\n"思考: 如何获取某块网卡上一秒的流入、流出数据流量。#重新赋值网卡初始化流入流出变量。#Description: 网卡流量监控。#循环开始监控网卡流量 监控频率 1s。#1、获得当前网卡流量 初始化值。#3.1、清屏输出下文。1、获得网卡当前流入流出总量。原创 2024-07-18 10:19:20 · 316 阅读 · 0 评论 -
shell脚本案例-监控内存使用率
echo "内存使用率: `echo "scale=2;$memory_use*100/$memory_totle"|bc`%,buff&cache:$buff_cache MB"$swap_use*100/$swap_totle"|bc`%"#echo "内存使用率: $((memory_use*100/memory_totle))%"打印内存使用率脚本,打印内存使用率、swap使用率、buff&cache使用量。1.2通过数据检索获得物理内存的使用量,Swap的使用量。#1.2、获得内存使用的量。原创 2024-07-18 10:18:44 · 472 阅读 · 0 评论 -
shell脚本案例-监控接口
2.1如果取值失败直接报错(测试发现当无法访问URL时会在第三步中报比较错误,所以这里取不到值就不往下走了)#3.1 一致 输出绿色字体 "status:200"#3.2 不一致 输出红色字体 "status:XXX"URL监控脚本,对某个URL进行监控,返回值为200则代表成功访问。#监控阈值可以是: 状态码、页面字符串、页面所有内容。#Description: URL监控脚本。1、使用curl访问一次URL,并将输出保存。#1、使用curl命令访问一次URL。#3、判断状态码是否和预设的一致。原创 2024-07-18 10:17:59 · 236 阅读 · 0 评论 -
shell脚本案例-监控磁盘使用率
job-监控磁盘使用率案例需求打印磁盘使用率脚本,对本机的磁盘使用率统计并打印结果使用率小于80,绿色输出使用率小于90,大于80,黄色输出使用率小于95,大于90,红色输出脚本应用场景:磁盘使用率监控一般周期为小时、天,不会太频繁。监控平台+监控脚本计划任务+监控脚本手动监控解决问题及时掌握磁盘容量,防止100%造成磁盘无法读取。脚本思路1. 检索本机磁盘2. 判断磁盘使用率3. 输出结果实现代码 #!/bin/bash # #Author: www.zutuanxue.原创 2024-07-18 10:17:23 · 308 阅读 · 0 评论 -
shell脚本案例-mysql备份脚本
写一个mysql binlog备份脚本,要求每天0点0分,计算机自动备份前一天的binlog日志,打包后发送给备份服务器。2、打包binlog日志 以年-月-日_binlog.tar.gz格式。刷新binlog日志,生成新的binlog用于存储备份节点后的数据。完整 完成备份 -----发邮件给管理员,明确备份成功。#将mysql的binlog日志备份到备份服务器。不完整 报错------发邮件给管理员,要求手动备份。1、确定binlog的位置及备份时间间隔 每天。#2 打包要备份的binlog。原创 2024-07-18 10:16:48 · 338 阅读 · 0 评论 -
shell脚本--函数
shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数。给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能。原创 2024-07-17 09:50:33 · 840 阅读 · 1 评论 -
shell脚本--文件操作
sed是linux中提供的一个外部命令,它是一个行(流)编辑器,非交互式的对文件内容进行增删改查的操作,使用者只能在命令行输入编辑命令、指定文件名,然后在屏幕上查看输出。它和文本编辑器有本质的区别。区别是:文本编辑器: 编辑对象是文件行编辑器:编辑对象是文件中的行也就是前者一次处理一个文本,而后者是一次处理一个文本中的一行。这个是我们应该弄清楚且必须牢记的,否者可能无法理解sed的运行原理和使用精髓。sed数据处理原理。原创 2024-07-17 09:49:50 · 383 阅读 · 0 评论 -
shell脚本--变量
在编程中,我们总有一些数据需要临时存放在内存,以待后续使用时快速读出。先了解一下计算机的存储单位吧。计算机的单位:1B=8bit1KB=1024B1MB=1024KB1GB=1024MB1TB=1024GB1PB=1024TB1EB=1024PB1ZB=1024EB...好了,已经够大了!当然还有YB、BB更大的单位,同样进制也是1024.假如你将一个1B的字符存入内存,如何读出呢?有没有一种大海捞针的感觉啊!原创 2024-07-17 09:48:50 · 581 阅读 · 0 评论 -
shell脚本--if语句与shell运算
if是一个条件判断语句,判断的前提是得有个条件。so,条件就显得格外重要了,if中可以有哪些条件呢?接下来我们就来聊一聊if条件的问题。我们在之前的课程中学习了shell的运算,有比较运算、逻辑运算、文件运算等,这些运算可以植入到if条件中吗?答案是肯定的,接下来我就给大家演示一下如何在if条件中植入shell运算条件。原创 2024-07-17 09:35:35 · 850 阅读 · 0 评论 -
shell脚本--if高级用法
通过代码看下 ,为字符串提供高级功能,模式匹配 r* 匹配r开头的字符串。省去了关键字,条件为真采用&&符号链接命令块,条件为假采用||链接命令块。简写if一般用在简单的判断中。原创 2024-07-17 09:34:30 · 253 阅读 · 0 评论 -
shell脚本--正则表达式
正则表达式(Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,是一种字符模式,用于在查找过程中匹配指定的字符。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。支持正则表达式的程序如:locate |find| vim| grep| sed |awk。原创 2024-07-17 09:31:49 · 641 阅读 · 0 评论 -
shell脚本--循环控制语句
作用: 控制循环的节奏,控制循环频率 当执行一个无限循环语句的时候,如果任意其循环那么该循环就会疯狂的消耗计算机的内存和CPU资源,消耗最大的就是CPU,所以一个循环不可能让其肆意循环,必须控制其循环的节奏,可以使用sleep语句来完成。作用: 外部传参到循环时,参数管理命令 使位置参数向左移动,默认移动1位,可以使用shift 2 传参要是N的整数倍。[ $# -lt 3 ]&&echo '请输入至少三个参数:'$0' $1 $2 $3 ...'&&exit 1。echo '参数数量: '$#''原创 2024-07-17 09:30:13 · 645 阅读 · 0 评论 -
shell脚本--流程控制-while循环
条件为真就进入循环;条件为假就退出循环,一般应用在未知循环次数的环境。原创 2024-07-17 09:29:31 · 958 阅读 · 0 评论 -
shell脚本--流程控制-until语句
特点:条件为假就进入循环;条件为真就退出循环。原创 2024-07-17 09:26:54 · 229 阅读 · 0 评论 -
shell脚本--流程控制-case语句
特点:根据给予的不同条件执行不同的代码块比如你去相亲:你会在脑子里出现以下的预案:第一眼看到对方父亲,你应该说:伯父好第一眼看到对方母亲,你应该说:伯母好第一眼看到对方奶奶,你应该说:奶奶好。。。。而这个例子中触发就是你第一眼看到了对方的谁,预案则是叫什么称呼。再来说一个计算机的相关例子---监控内存使用率内存使用率低于80%,脚本输出: 绿色字体的Memory use xx%内存使用率大于80%小于90%,脚本输出: 黄色字体的Memory use xx%原创 2024-07-17 09:25:43 · 775 阅读 · 0 评论 -
shell脚本--流程控制-for循环语句
脚本在执行任务的时候,总会遇到需要循环执行的时候,比如说我们需要脚本每隔五分钟执行一次ping的操作,除了计划任务,我们还可以使用脚本来完成,那么我们就用到了循环语句。原创 2024-07-17 09:24:43 · 643 阅读 · 0 评论 -
shell脚本--流程控制-case语句
特点:根据给予的不同条件执行不同的代码块比如你去相亲:你会在脑子里出现以下的预案:第一眼看到对方父亲,你应该说:伯父好第一眼看到对方母亲,你应该说:伯母好第一眼看到对方奶奶,你应该说:奶奶好。。。。而这个例子中触发就是你第一眼看到了对方的谁,预案则是叫什么称呼。再来说一个计算机的相关例子---监控内存使用率内存使用率低于80%,脚本输出: 绿色字体的Memory use xx%内存使用率大于80%小于90%,脚本输出: 黄色字体的Memory use xx%原创 2024-07-17 09:23:56 · 683 阅读 · 0 评论 -
shell脚本--介绍
编程语言是指计算机能理解的语言,人类通过使用计算机语言可以给计算机批量下达任务,让其按照人类的思想去完成工作。最常见的语言有:汇编语言、C语言、java语言、php语言、Python语言、golang语言等等。编程语言分类:编译型语言 程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、java解释型语言 程序不需要编译,程序在运行时由解释器翻译成机器语言,每执行一次都要翻译一次。原创 2024-07-17 09:22:49 · 762 阅读 · 0 评论 -
shell脚本--for嵌套
Description:输出1-9,当输出5时停止输出。#打印99乘法表,思考A*B的关系。2.1、使用for循环遍历读出数组。2.2、使用for循环进行数组存值。输出1-9,当输出5时停止输出。原创 2024-07-17 09:21:19 · 171 阅读 · 0 评论