109个实用 Shell 脚本实例,代码清晰拿来就能用!(附pdf)
共 2779字,需浏览 6分钟
·
2022-03-10 15:57
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进程数,zombie 进程数。
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.MySQL数据库备份脚本
48.Nginx访问日志分析
49.Nginx访问日志自动按天(周、月)切割
50.自动发布Java项目(Tomcat)
51.自动发布PHP项目
52.DOS攻击防范(自动屏蔽攻击IP)
53.目录入侵检测与告警
54.本地选择脚本auto build.sh
55.服务器编译脚本 build.sh首先第一个使用的就是{$#}和{$@}其次使用了字符串截取的操作
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.一键证书申请和颁发脚本
注:资料整理自网络,仅作免费交流分享,侵删
完整pdf如何获取?
▲▲▲
扫描上方二维码
备注“109shell”即可免费领取