Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。
Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行程序,如果熟练掌握Shell脚本,可以让我们操作计算机变得更加轻松,也会节省很多时间。
本篇文档整理了来自网络的109个shell脚本,希望对大家有所帮助。代码清晰可复制,电子版有利于大家随时练习,提升实战能力,是融汇了Shell脚本所有核心知识点的集大成之作,是学习、提升、面试的必备精品,建议大家收藏保存起来。
【文档领取见文末】
【文档领取见文末】
1.Dos 攻击防范(自动屏蔽攻击IP)
2.Linux 系统发送告警脚本
3.MySQL 数据库备份单循环
4.MySQL 数据库备份多循环
5.Nginx 访问访问日志按天切割
6.Nginx访问日志分析脚本
7.查看网卡实时流量脚本
8.服务器系统配置初始化脚本
9.监控 100 台服务器磁盘利用率脚本
10.并发从数台机器中获取 hostname,并记录返回信息花费的时长,重定向到一个文件 hostname.txt中,在全部完成后输出花费时长最短的那台机器的 CPU 信息。
上下滚动查看更多
11.统计/proc 目类下Linux进程相关数量信息,输出总进程数,runninq 进程数,stoped 进程数,sleeing进程数,zo mbie 进程数。
12.把当前目录(包含子目录)下所有后缀为".sh"的文件后缀变更为".shell",之后删除每个文件的第二行。
13.判断目录/tmp/jstack是否存在,不存在则新建一个目录若存在则删除目录下所有内容。
14.从 test.loq中截取当天的所有gc 信息日志,并统计 gc 时间的平均值和时长最长的时间。
15.查找80端口请求数最高的前 20个IP地址,判断中间最小的请求数是否大于 500,如大于 500,则输出系统活动情况报告到 alert.txt,如果没有,则在 600s后重试,直到有输出为止。
16.将当前目录下大于10K的文件转移到/tmp 目录,再按照文件大小顺序,从大到小输出文件名。
17.企业微信告警
18.FTP客户端
19.SSH客户端
20.Saltstack 客户端
上下滚动查看更多
21.vCenter 客户端
22.获取域名ssl 证书过期时间
23.发送今天的天气预报以及未来的天气超势图
24.SVN 完整备份
25.zabbix 监控用户密码过期
26.构建本地YUM
27.备份当前日期文件
28.DOS攻击防范(自动屏蔽攻击IP)
29.批量创建多少个用户并设置密码
30.快速在Ubuntu 20.04上架设LAMP服务器及WordPress 博客
上下滚动查看更多
31.每天自动备份 MySQL 数据库
32.MySQL 数据库备份单循环
33.MySQL 数据库备份多循环
34.Nginx日志按要求切割
35.生成10个随机数保存于数组中并找出其最大值和最小值
36.查看网卡实时流量
37.服务器系统配置初始化
38.批量创建多个用户并设置密码
39.一键查看服务器利用率
40.找出占用CPU 内存过高的进程
上下滚动查看更多
41.查看网卡的实时流量
42.监控多台服务器磁盘利用率脚本
43.批量检测网站是否异常并邮队件通知
44.批量主机远程执行命令脚本
45.一键部署LNMP网站平台脚本
46.监控MySQL主从同步状态是否异常脚本
47.MySgl数据库备份脚本
48.Nginx访问日志分析
49.Nginx访问日志自动按天(周、月)切割
50.自动发布Java项目(Tomcat)
50.自动发布Java项目(Tomcat)
上下滚动查看更多
51.自动发布PHP项目
上下滚动查看更多
51.自动发布PHP项目
52.DOS攻击防范(自动屏蔽攻击IP)53.目录入侵检测与告警
54.本地选择脚本auto build.sh
55.服务器编译脚本 build.sh首先第一个使用的就是{$#}和([email protected])其次使用了字符串截取的操作
56.本地expect登陆拷贝scp exec.sh脚本
57.检测两台服务器指定目录下的文件—致性
58.定时清空文件内容,定时记录文件大小
59.检测网卡流量,并按规定格式记录在日志中
60.计算文档每行出现的数字个数,并计算整个文档的数字总数
61.从FTP服务器下载文件
62.连续输入5个100以内的数字,统计和、最小和最大
63.监测 Nginx 访问日志 502情况,并做相应动作
64.将结果分别赋值给变量
65.批量修改文件名
66.统计当前目录中以html结尾的文件总大小
67.扫描主机端口状态
68.输入数字运行相应命令
69.Expect 实现 SSH 免交互执行命令
70.监控 httpd 的进程数,根据监控情况做相应处理
71.批量修改服务器用户密码
72.iptables 自动屏蔽访问网站频须繁的IP
73.根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁
74.判断用户输入的是否为IP地址
76.轮询检测Apache状态并启用钉钉报警
77.一台监控主机,一台被监控主机。被监控主机分区使用率大于80%,就发告警部邮件。放到crontab里面,每10分钟执行一次。
78.监控主机的磁盘空间,当使用空间超过90%就通过发mail 来发警告
79.自动ftp上传
80.mysqlbak.sh备份数据库目录脚本
81.打印彩虹
82.打印菱形
83.expect实现远程登陆自动交互
84.http心跳检测
85.PV过量自动实现防火墙封IP
86.shellI实现自动安装
87.shell实现插入排序
88.bash实现动态进度条
89.根据文件内容创建账号
90. 红色进度条
91.监控服务器网卡流量
92.检测CPU剩余百分比
93.检测磁盘剩余空间
94.bash-实现检测apache状态并钉钉报警
95.内存检测
96.剩余inode检测
97.判断哪些用户登陆了系统
98.批量创建账号
99.批量扫面存活
100.正则匹配IP
101.正则匹配邮箱
102.实现布片效果
103.剔除白名单以外的用户
104.一键安装 MongoDB 数据库脚本
105.使用mobaXtrem显示CentOS上的图形工具
106.一键申请多个证书 shell 脚本
107.基于CentOS一键编译安装Redis脚本
108.基于CentOS一键安装tomcat脚本
109.一键证书申请和颁发脚本
4G时代真的发展的十分快,互联网成就了新的生活方式。我们出门已经不再需要现金,手机就可以做到很多事情,4G网络无疑为我们的生活带来了质变2019年开始我国5G网络正式开始商用,5G手机逐渐走进了我们的视野,而荣耀V30系列5G双模手机的出现,无疑标志着我国5G手机进入大力发展阶段。作为一位追求潮流的小编,在荣耀V30系列双十二发售当日,便入手这么一台5G标杆,经过一周的体验,下面小编就和大家浅谈下...
最近闲的在捣鼓wifi,以太网连接网,不过好像没有那么多时间去研究cc3200,先从封装好的芯片模块开始玩起吧,这几天准备研究下ESP8266,由于手头上是有一个透传的模块,和一个块STM32F4的板子,而且有对应的代码例程,所以先开始研究下,工作的大致过程。那开始从esp8266的透传开始:所谓的透传可以这样来理解:透传就是指不需要关心wifi协议是如何实现的.所需要做的就是A通过串...
oracle固定执行计划SQL Profileautomatic类型的sql profileSQL Profile1、SQL profile在Oracle 10g引入2、通过为特定的SQL文本指定优化器的一些信息,从而引导优化器生成更为合理的SQL执行计划。达到不修改SQL文本就可以改变并指定执行计划的目的。3、通常和SQL Tuning Advisor一起用4、也可以手工设置automatic类型的sql profile1、构造测试环境:session 1:conn scott/tige
用Android Studio 调试程序查看优化CUP使用率
【解析Glide2.0源码】Glide基本用法流程解析(一)前言一直想找一个Android图片框架来研究,经过思考还是将目前使用最广泛的图片框架Glide来进行研究。目前网上的GlideV3和V4版本源码解析文章确实很多,但是看起来确实很费劲,目前Glide的版本已经到了V4.8.0了,很多思想已经很成熟,但是作为程序员都知道写框架是一个沉淀和积累的过程其实也跟程序员本人的功底和当时的整个IT...
com.fasterxml.jackson.databind.exc.MismatchedInputException
洪水淹没模拟演示的步骤如下:(1)获取DEM模型;(2)利用ArcGIS的raster calculator工具进行分析,根据不同的高度生成洪水淹没模拟。1)原始DEM演示 2) 调用空间分析3)100米模拟4)200米模拟5)300米模拟6)400米模拟
题目描述有n个同学(编号为1到n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口中得知自己的...
在Virtulbox上装Ubuntu做个程序员,会用Linux,这应该是最基本的要求吧.可惜本人经常用Windows,只是偶尔去服务器上做些操作的时候才接触到linux.so,我要学Linux.刚学所以还是先装个虚拟机吧,等在虚拟机上用 ...git日常操作0.准备工作 0.1 git安装 http://git-scm.com/download/ 图形客户端建议使用source tree,中文...
skynet自带定时器功能skynet-src/skynet_timer.c,在skynet启动时会创建一个线程专门跑定时器。每帧(0.0025秒/帧)调用skynet_updatetime() 1 // skynet-src/skynet_start.c 2 3 create_thread(&pid[1], thread_timer, m); 4 5 static void * 6 thread_timer(void *p) { 7 struct monitor *
题目描述:输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};详细描述:原型:ListNode* FindKthToTail(ListNode* pListHead, unsigne
今天,字节跳动正式宣布开源 CloudWeGo。这是一套以 Go 语言为核心、专注于微服务通信与治理的中间件集合,具有高性能、可扩展、高可靠的特点。项目地址:https://github....