首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

109个实用 Shell 脚本实例,代码清晰一看就懂!

每一个合格Linux系统管理员或运维工程师,都需要熟练编写Shell脚本,并能够阅读系统及各类软件附带Shell脚本内容。...12.把当前目录(包含子目录)下所有后缀为".sh"文件后缀变更为".shell",之后删除每个文件第二。...监控MySQL主从同步状态是否异常脚本 47.MySql数据库备份脚本 48.Nginx访问日志分析 49.Nginx访问日志自动按天(周、月)切割 50.自动发布Java项目(Tomcat)...,并按规定格式记录在日志 60.计算文档每行出现数字个数,并计算整个文档数字总数 61.从FTP服务器下载文件 62.连续输入5个100以内数字,统计和、最小和最大 63.监测 Nginx 访问日志...78.监控主机磁盘空间,当使用空间超过90%就通过发mail 来发警告 79.自动ftp上传 80.mysqlbak.sh备份数据库目录脚本 81.打印彩虹 82.打印菱形 83.expect实现远程登陆自动交互

3.7K20

Hadoop3.0分布式集群安装知识

在系统范围shell环境配置配置HADOOP_HOME也是很传统。 例如,/etc/profile.d一个简单脚本: [Bash shell] 纯文本查看 复制代码 ?...NodeManager上可用于运行容器总可用资源 yarn.nodemanager.vmem-pmem-ratio 任务虚拟内存使用量可能超过物理内存最大比率 每个任务虚拟内存使用超过物理内存限制比率...管理员可以通过在脚本执行任何选择检查来确定节点是否处于健康状态。如果脚本检测到节点处于不健康状态,则必须以字符串ERROR打印到标准输出。 NodeManager定期生成脚本并检查其输出。...引导磁盘被攻击,或者引导磁盘故障由运行状况检查程序脚本识别。 Slaves文件 在etc/hadoop/workers文件,列出所有的workerhostname或则IP地址。一一个。...第一次启动hdfs,需要格式化.格式化命令: [Bash shell] 纯文本查看 复制代码 ?

1.9K50
您找到你想要的搜索结果了吗?
是的
没有找到

100 个开箱即用 Shell 脚本,拿好了~

shell脚本是帮助程序员和系统管理员完成费时费力枯燥工作利器,是与计算机交互并管理文件和系统操作有效方式。区区几行代码,就可以让计算机接近按照你意图行事。...#容清空,但不删除文件,其他时间则只统计各个文件大小,一个文件一,输出到以时#间和日期命名文件需要考虑目标目录下二级、三级等子目录文件 ###########################...}'` sum=0 #文档每一可能存在空格,因此不能直接用文档内容进行遍历 for i in `seq 1 $n`do #输出用变量表示时,需要用双引号 line=`sed -n "$i"p a.txt...#场景: #1.访问日志文件路径:/data/log/access.log #2.脚本死循环,每10秒检测一次,10秒日志条数为300条,出现502比例不低于10%(30条)则需要重启php-fpm...IP 场景:恶意访问,安全防范 1)屏蔽每分钟访问超过200IP 方法1:根据访问日志(Nginx为例) #!

1.4K30

Hadoop3.0集群安装知识

在系统范围shell环境配置配置HADOOP_HOME也是很传统。 例如,/etc/profile.d一个简单脚本: [Bash shell] 纯文本查看 复制代码 ?...NodeManager上可用于运行容器总可用资源 yarn.nodemanager.vmem-pmem-ratio 任务虚拟内存使用量可能超过物理内存最大比率 每个任务虚拟内存使用超过物理内存限制比率...管理员可以通过在脚本执行任何选择检查来确定节点是否处于健康状态。如果脚本检测到节点处于不健康状态,则必须以字符串ERROR打印到标准输出。 NodeManager定期生成脚本并检查其输出。...引导磁盘被攻击,或者引导磁盘故障由运行状况检查程序脚本识别。 Slaves文件 在etc/hadoop/workers文件,列出所有的workerhostname或则IP地址。一一个。...第一次启动hdfs,需要格式化.格式化命令: [Bash shell] 纯文本查看 复制代码 ?

1.3K70

linux运维面试题总结「建议收藏」

用crontab怎么实现 8、编写个shell脚本将/usr/local/test目录下大于100K文件转移到/tmp目录下 9、统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前十位...18、请写出一条命令,将当前目录创建时间超过7天文件压缩成.gz格式 19、每天中午12使用tcpdump命令抓取目的端口为tcp801000个包输出到当前目录并以当前时间命令,请写出定时任务及脚本内容...按访问量列出前10名ip地址 日志格式样例如下: 32、杀死以A开头所有进程 33、请使用linux系统命令统计出establish状态连接数有多少?...34、给定一个文本文件,请打印出它第十。 35、给定一个包含电话号码(每行一个)文本文件,请写出一个单行shell脚本打印所有的合法电话号码 ​ 假设一个合法电话号码是如下格式。...78、统计某日志文件第四列数值平均值,要求只计算第二列以R开头且第二列包含al第四列数值,并按照输出格式要求输出到文件log.bin,写出实现要求步骤及命令 某日志文件如下: num|name

2K40

一天一个 Linux 命令(21):awk 命令

三、选项说明 -f progfile,--file=progfile 从文件progfile读取AWK程序源代码,而不是从第一个命令行参数读取。 可以使用多个-f(或——file)选项。...、print命令后面的item可以省略,此时其功能相当于print $0,因此,如果想输出空白,则需要使用print"" 4、如果引用变量$1或其他,是不能使用引号引起来 printf 1、其与print...netstat -ant | awk '/^tcp/{state[$NF]++}END{for(i in state) {print i,state[i]}}' #统计访问日志各IP访问次数 awk...netstat -ant状态次数 #每出现一被/^tcp/模式匹配到,数组S[$NF]就加1,NF为当前匹配到最后一个字段,此处用其值做为数组S元素索引 netstat - | awk...'/^tcp/{state[$NF]++}END{for(i in state) {print i,state[i]}}' #统计www服务访问日志IP数量 awk '{ip[$1]++} END

2K20

精简运维流程:grep、awk、sed三剑客实用脚本

-i:忽略大小写 -v:反转匹配,只显示不匹配 -c:计数匹配行数 -n:显示匹配行号 -r:递归搜索目录所有文件 -E:使用扩展正则表达式 常用示例: 查找文件包含"error"(不区分大小写...grep grep 可以使用强大正则表达式来进行模式匹配。 -o:仅输出文件匹配到部分。 -A n:打印匹配及其后n。 -B n:打印匹配及其前n。...n~m:每m匹配一次,从第n开始。 &:在替换字符串引用匹配部分。 -n 与 p 结合使用:仅打印那些发生替换。 自动化脚本案例: #!...检查并列出文件夹大文件 #!/bin/bash # 列出当前目录及子目录下所有超过100MB文件 find ....以下是一些包含grep、awk、sedshell脚本案例,这些案例反映了运维工程师常见用途。 7. 监控HTTP状态码并记录异常 #!

22210

23 个非常实用 Shell 拿来就用脚本实例

区区几行代码,就可以让计算机接近按照你意图行事。 为大家整理了23个实例,通过23个实战经典脚本实例,展示了shell脚本编程实用技术和常见工具用法。...#容清空,但不删除文件,其他时间则只统计各个文件大小,一个文件一,输出到以时#间和日期命名文件需要考虑目标目录下二级、三级等子目录文件 ##########################...}'` sum=0 #文档每一可能存在空格,因此不能直接用文档内容进行遍历 for i in `seq 1 $n` do #输出用变量表示时,需要用双引号 line=`sed -n "$i"p...#场景: #1.访问日志文件路径:/data/log/access.log #2.脚本死循环,每10秒检测一次,10秒日志条数为300条,出现502比例不低于10%(30条)则需要重启php-fpm...IP 场景:恶意访问,安全防范 1)屏蔽每分钟访问超过200IP 方法1:根据访问日志(Nginx为例) #!

86220

Linux面试题基础宝典==面试必备

在文件名中使用 shell 元字符会非常有用。删除文件前先打印文件名并进行确认:rm -i file* 。 递归删除文件夹下所有文件,并删除该文件夹:rm -r example 。...你也可以使用 -f 选项进行实时查看,这个命令执行后会等待,如果有新添加到文件尾部,它会继续输出新,在查看日志时这个选项会非常有用。...该命令会输出系统日志最后 10 。示例输出,可以看见一次内核 oom kill 和一次 TCP 丢包。这些日志可以帮助排查性能问题。千万不要忘了这一步。...在写一个 Shell 脚本时,如果你想要检查前一命令是否执行成功,在 if 条件中使用 $? 可以来检查前一命令结束状态。 如果结束状态是 0 ,说明前一个命令执行成功。...4、如果发现硬件资源消耗都不高,那么就需要通过查日志,比如看看 MySQL慢查询日志,看看是不是某条 SQL 语句查询慢,导致网站访问慢。 怎么去解决?

2.5K31

18 个开箱即用 Shell 脚本,拿好了~

#容清空,但不删除文件,其他时间则只统计各个文件大小,一个文件一,输出到以时#间和日期命名文件需要考虑目标目录下二级、三级等子目录文件 ###########################...}'` sum=0 #文档每一可能存在空格,因此不能直接用文档内容进行遍历 for i in `seq 1n`do #输出用变量表示时,需要用双引号 line=`sed -n "i"p a.txt...,如果想直接更改文件,可将输出结果写入临时文件,再替换2.txt或者使用-i选项 10、统计当前目录以.html结尾文件总大 方法1: <code class.../bin/bash ############################################################## #shell打印示例语句中字母数小于6单词 #####...IP 场景:恶意访问,安全防范 1)屏蔽每分钟访问超过200IP 方法1:根据访问日志(Nginx为例) #!

33610

推荐一款嵌入式Linux开源框架与封装-cpp-tbox

这里推荐一款嵌入式cpp框架与封装代码,小而轻量级,很不错开源代码。交叉编译也很方便,模块化编译,可根据需要选择编译模块。...具有类Shell命令终端 可以与运行服务通过telnet进行交互,令其打印内部数据,或是执行特定动作。这极大地降低了调试难度。 shell交互示例 4....有全面的异常捕获机制 当程序出现各种程序异常,如:段错误、断言、总线错误、异常未捕获等,架框会捕获并在日志系统打印完整调用栈。面对程序崩溃,不再一脸茫然。效果如下: 异常栈打印 9....有丰富开发组件 库名 中文名 说明 base 基础库 含日志打印、常用工具等 util 工具库 在业务代码可能会用到库 event 事件库 实现了IO,Timer,Signal三种事件驱动,是整个框架心脏...含多层级状态机与行为树,解决异步模式下动流程问题 适用环境 • Linux 系统; • C++11 以上。

26310

运维一线工作常用shell脚本再整理

---- 1、监测 Nginx 访问日志 502 情况,并做相应动作 假设服务器环境为 lnmp,近期访问经常出现 502 现象,且 502 错误在重启 php-fpm 服务后消失,因此需要编写监控脚本...#场景: #1.访问日志文件路径:/data/log/access.log #2.脚本死循环,每10秒检测一次,10秒日志条数为300条,出现502比例不低于10%(30条)则需要重启php-fpm.../bin/bash ############################################################### 把一个文档前五包含字母删掉,同时删除6到10包含所有字母...,如果想直接更改文件,可将输出结果写入临时文件,再替换2.txt或者使用-i选项 4、统计当前目录以.html结尾文件总大 方法1: # find ..../bin/bash ############################################################## #shell打印示例语句中字母数小于6单词 #####

54930

性能工具之linux常见日志统计分析命令

}i - 客户端真实ip %r - 来自客户端请求(请求 URI 和 HTTP 协议,这是整个 PV 日志记录中最有用信息,记录服务器收到一个什么样请求) %>s - 服务器返回客户端状态码...模式或动作都可以不指定,缺省模式情况下,将匹配所有。缺省动作情况下,将执行动作 {print},即打印整个记录。...使用 ” 分解每一; 请求必须包括 “.jpg” 、”.gif” 或 ”.png”; 引用页不是以您网站域名字符串开始( 在此例,即 www.example.com ); 显示出所有引用页,并统计出现次数...uniq -c:打印每一重复出现次数。(并去掉重复) sort -nr:按照重复出现次序倒序排列。...head -n 100:取排在前100位IP 页面响应时间相关统计 可以使用下面的命令统计出所有响应时间超过 3 秒日志记录。

2.7K30

Linux awk统计日志中出现过IP(或出现次数最多N个IP)

BEGIN语句块在awk開始从输入流读取之前被运行,这是一个可选语句块,比方变量初始化、打印输出表格表头等语句通常能够写在BEGIN语句块。...END语句块在awk从输入流读取全然部之后即被运行。比方打印全部分析结果这类信息汇总都是在END语句块完毕,它也是一个可选语句块。...pattern语句块通用命令是最重要部分,它也是可选。假设没有提供pattern语句块,则默认运行{ print },即打印每个读取到。awk读取每一都会运行该语句块。...查看日志访问超过100次页面 cat access_log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}' |...-2020-09-06.log | grep 2020-09-06T23:27|grep /api/v1|wc -l //api/vi 开头接口多少 发现系统存在问题 我们可以使用下面的命令行,统计服务器返回状态

1.1K20

Linux基础——正则表达式

,它能使用正则表达式搜索文本,并把匹配打印出来....如果需要对同一文件或作多次修改,可以使用"-e" 选项 ? 取得eth0 网卡 IP 地址: ? 2、删除:d命令 从某文件删除包含 "how" 所有 ?...使用 BEGIN 语句设置计数和打印头。BEGIN 语句使用在任何文本浏览动作之前,之后文本浏览动作依据输入文本开始执行。END 语句用在 awk 完成文本浏览动作后打印输出文本总数和结尾状态标志。...动作大多数用来打印,但是还有些更长代码诸如i f和循环语句及循环退出结构。如果不指明采取动作,awk将打印出所有浏览出来记录。 awk执行时,其浏览域标记为$1,$2...$n。...该脚本将提交给cron 进程来运行,如果某个日志文件超过了特定长度,那么它内容将被倒换到另一个文件,并清除原有文件内容。 该脚本中日志文件长度限制是由变量BLOCK_LIMIT设定

4.3K30

编译及调试 Hadoop 源代码

Hadoop 在伪分布式模式下编译和调试方法,其中,调试方法主要介绍使用 Eclipse 远程调试和打印调试日志两种。...在 Hadoop 源代码,大部分 Java 文件存在调试日志(DEBUG 级别日志),但默认情况下,日志级别是 INFO。为了查看更详细运行状态,可采用以下几种方法打开DEBUG 日志。...(1)使用 Hadoop Shell 命令 可使用 Hadoop 脚本 daemonlog 命令查看和修改某个类日志级别,比如,可通过以下命令查看 TaskTracker 类日志级别: bin/...在阅读源代码过程,为了跟踪某个变量值变化,读者可能需要自己添加一些DEBUG 日志。在 Hadoop 源代码,大部分类会定义一个日志打印对象。通过该对象,可打印各个级别的日志。...LOG 对象打印调试日志,比如,可在 JobTracker main 函数首添加以下代码: LOG.debug("Start to lauch JobTracker...")

1.8K70

运维面试题(每日一题)

-bash-4.1原因及解决办法 2、如何删除多个文件包含空格或其他特殊字符,怎么做 3、CPU使用超过80%或硬盘超过85%邮件报警 4、监控学校网络出口正常性,需要写一个脚本,操作系统每30...4、mount永久挂载 5、打印一个目录下所有包含字符串A 6、iptables ★7、页面无法访问排查思路 第十一周 2.取出/tmp目录下面的10个文件第一 3.通过Iptables来限定apache...apache 日志打印到哪里,为什么?...若是云服务器可能存在账号处于欠费状态 WEB服务没有启动 端口没有正常监听 防火墙或者防火墙策略限制 排查思路说明: ·使用命令telnet IP Port 进行测试 场景二:网站访问异常代码...bin-log,slave在复制时候SQL进程会解析成和原来master端执行过相同SQL来执行 优点:解决了上row level模式缺点,不需要记录每一数据变化,减少日志量,可以得高性能

5K22

Linux命令大全,从A到Z都有总结,封神之作!

,默认情况下,它显示当前月份日历作为输出 case 当我们不得不在单个变量上使用多个 if/elif 时,这是最好选择 cat 从文件读取数据并将其内容作为输出 cc 用于编译 C 语言代码并创建可执行文件...crontab 定时任务命令列表 csplit 用于根据用户需要将任何文件拆分为多个部分 ctags 快速访问文件(例如快速查看函数定义)...cupsd CUPS(通用单元打印系统)一种调度程序,实现了基于Internet打印协议打印系统 curl 使用任何支持协议将数据传输到服务器或从服务器传输数据工具 cut 用于从文件每一中切出部分并将结果写入标准输出...expa 将制表符转换为文件空格,当未指定文件时,它会从标准输入读取 expect 此命令或脚本语言适用于需要用户输入脚本,通过提供输入来自动执行任务 export 是 bash shell...防火墙设置和维护表,包含在 Linux 内核 iptables-save 将当前 iptables 规则保存在用户指定文件,以后用户需要时可以使用 iwconfig 用于显示参数,以及从

2.3K02

600个常用Linux命令大全,从A到Z

csplit 用于根据用户需要将任何文件拆分为多个部分 ctags 快速访问文件(例如快速查看函数定义) cupsd CUPS(通用单元打印系统)一种调度程序,实现了基于Internet打印协议打印系统...exit 用于退出当前运行shell expa 将制表符转换为文件空格,当未指定文件时,它会从标准输入读取 expect 此命令或脚本语言适用于需要用户输入脚本,通过提供输入来自动执行任务...fmt 用作简化和优化文本文件格式化程序 fold 将输入文件每一包装起来以适应指定宽度并将其打印到标准输出 for 用于对列表存在每个元素重复执行一组命令 free 显示可用空间总量以及系统中使用内存量和交换内存量...一旦程序终止,终端处于异常状态,这很有用 restore 用于从使用转储创建备份恢复文件 return 用于退出 shell 函数。...screen 提供从单个 ssh 会话启动和使用多个 shell 会话能力 script 用于制作打字稿或记录所有终端活动 scriptreplay 用于重放脚本命令记录日志文件存储typescript

30211
领券