Shell腳本,就是利用Shell的命令解釋的功能,對一個純文本的文件進行解析,然后執(zhí)行這些功能,也可以說Shell腳本就是一系列命令的集合。
Shell可以直接使用在win/unix/linux上面,并且可以調(diào)用大量系統(tǒng)內(nèi)部的功能來解釋執(zhí)行程序,如果熟練掌握Shell腳本,可以讓我們操作計算機變得更加輕松,也會節(jié)省很多時間。
本篇文檔整理了來自網(wǎng)絡的109個shell腳本,希望對大家有所幫助。代碼清晰可復制,電子版有利于大家隨時練習,提升實戰(zhàn)能力,是融匯了Shell腳本所有核心知識點的集大成之作,是學習、提升、面試的必備精品,建議大家收藏保存起來。
-
1.Dos 攻擊防范(自動屏蔽攻擊IP)
-
2.Linux 系統(tǒng)發(fā)送告警腳本
-
4.MySQL 數(shù)據(jù)庫備份多循環(huán)
-
5.nginx 訪問訪問日志按天切割
-
6.Nginx訪問日志分析腳本
-
7.查看網(wǎng)卡實時流量腳本
-
8.服務器系統(tǒng)配置初始化腳本
-
9.監(jiān)控 100 臺服務器磁盤利用率腳本
-
10.并發(fā)從數(shù)臺機器中獲取 hostname,并記錄返回信息花費的時長,重定向到一個文件 hostname.txt中,在全部完成后輸出花費時長最短的那臺機器的 CPU 信息。
-
11.統(tǒng)計/proc 目類下Linux進程相關(guān)數(shù)量信息,輸出總進程數(shù),runninq 進程數(shù),stoped 進程數(shù),sleeing進程數(shù),zo mbie 進程數(shù)。
-
12.把當前目錄(包含子目錄)下所有后綴為”.sh”的文件后綴變更為”.shell”,之后刪除每個文件的第二行。
-
13.判斷目錄/tmp/jstack是否存在,不存在則新建一個目錄若存在則刪除目錄下所有內(nèi)容。
-
14.從 test.loq中截取當天的所有g(shù)c 信息日志,并統(tǒng)計 gc 時間的平均值和時長最長的時間。
-
15.查找80端口請求數(shù)最高的前 20個IP地址,判斷中間最小的請求數(shù)是否大于 500,如大于 500,則輸出系統(tǒng)活動情況報告到 alert.txt,如果沒有,則在 600s后重試,直到有輸出為止。
-
16.將當前目錄下大于10K的文件轉(zhuǎn)移到/tmp 目錄,再按照文件大小順序,從大到小輸出文件名。
-
17.企業(yè)微信告警
-
18.FTP客戶端
-
19.ssh客戶端
-
20.saltstack 客戶端
-
21.vCenter 客戶端
-
22.獲取域名ssl 證書過期時間
-
23.發(fā)送今天的天氣預報以及未來的天氣超勢圖
-
24.svn 完整備份
-
25.zabbix 監(jiān)控用戶密碼過期
-
26.構(gòu)建本地YUM
-
27.備份當前日期文件
-
28.DOS攻擊防范(自動屏蔽攻擊IP)
-
29.批量創(chuàng)建多少個用戶并設置密碼
-
31.每天自動備份 MySQL 數(shù)據(jù)庫 -
32.MySQL 數(shù)據(jù)庫備份單循環(huán) -
33.MySQL 數(shù)據(jù)庫備份多循環(huán) -
34.Nginx日志按要求切割 -
35.生成10個隨機數(shù)保存于數(shù)組中并找出其最大值和最小值 -
36.查看網(wǎng)卡實時流量 -
37.服務器系統(tǒng)配置初始化 -
38.批量創(chuàng)建多個用戶并設置密碼 -
39.一鍵查看服務器利用率 -
40.找出占用CPU 內(nèi)存過高的進程
-
41.查看網(wǎng)卡的實時流量 -
42.監(jiān)控多臺服務器磁盤利用率腳本 -
43.批量檢測網(wǎng)站是否異常并郵隊件通知 -
44.批量主機遠程執(zhí)行命令腳本 -
45.一鍵部署LNMP網(wǎng)站平臺腳本 -
46.監(jiān)控MySQL主從同步狀態(tài)是否異常腳本 -
47.MySgl數(shù)據(jù)庫備份腳本 -
48.Nginx訪問日志分析 -
49.Nginx訪問日志自動按天(周、月)切割 -
50.自動發(fā)布Java項目(tomcat)
-
51.自動發(fā)布php項目 -
52.DOS攻擊防范(自動屏蔽攻擊IP) -
53.目錄入侵檢測與告警 -
54.本地選擇腳本auto build.sh -
55.服務器編譯腳本 build.sh首先第一個使用的就是{$#}和($@)其次使用了字符串截取的操作 -
56.本地expect登陸拷貝scp exec.sh腳本 -
57.檢測兩臺服務器指定目錄下的文件—致性 -
58.定時清空文件內(nèi)容,定時記錄文件大小 -
59.檢測網(wǎng)卡流量,并按規(guī)定格式記錄在日志中 -
60.計算文檔每行出現(xiàn)的數(shù)字個數(shù),并計算整個文檔的數(shù)字總數(shù) -
61.從FTP服務器下載文件 -
62.連續(xù)輸入5個100以內(nèi)的數(shù)字,統(tǒng)計和、最小和最大 -
63.監(jiān)測 Nginx 訪問日志 502情況,并做相應動作 -
64.將結(jié)果分別賦值給變量 -
65.批量修改文件名 -
66.統(tǒng)計當前目錄中以html結(jié)尾的文件總大小 -
67.掃描主機端口狀態(tài) -
68.輸入數(shù)字運行相應命令 -
69.Expect 實現(xiàn) SSH 免交互執(zhí)行命令 -
70.監(jiān)控 httpd 的進程數(shù),根據(jù)監(jiān)控情況做相應處理 -
71.批量修改服務器用戶密碼 -
72.iptables 自動屏蔽訪問網(wǎng)站頻須繁的IP -
73.根據(jù)web訪問日志,封禁請求量異常的IP,如IP在半小時后恢復正常,則解除封禁 -
74.判斷用戶輸入的是否為IP地址 -
76.輪詢檢測apache狀態(tài)并啟用釘釘報警 -
77.一臺監(jiān)控主機,一臺被監(jiān)控主機。被監(jiān)控主機分區(qū)使用率大于80%,就發(fā)告警部郵件。放到crontab里面,每10分鐘執(zhí)行一次。 -
78.監(jiān)控主機的磁盤空間,當使用空間超過90%就通過發(fā)mail 來發(fā)警告 -
79.自動ftp上傳 -
80.mysqlbak.sh備份數(shù)據(jù)庫目錄腳本 -
81.打印彩虹 -
82.打印菱形 -
83.expect實現(xiàn)遠程登陸自動交互 -
84.http心跳檢測 -
85.PV過量自動實現(xiàn)防火墻封IP -
86.shellI實現(xiàn)自動安裝 -
87.shell實現(xiàn)插入排序 -
88.bash實現(xiàn)動態(tài)進度條 -
89.根據(jù)文件內(nèi)容創(chuàng)建賬號 -
90. 紅色進度條 -
91.監(jiān)控服務器網(wǎng)卡流量 -
92.檢測CPU剩余百分比 -
93.檢測磁盤剩余空間 -
94.bash-實現(xiàn)檢測apache狀態(tài)并釘釘報警 -
95.內(nèi)存檢測 -
96.剩余inode檢測 -
97.判斷哪些用戶登陸了系統(tǒng) -
98.批量創(chuàng)建賬號 -
99.批量掃面存活 -
100.正則匹配IP -
101.正則匹配郵箱 -
102.實現(xiàn)布片效果 -
103.剔除白名單以外的用戶 -
104.一鍵安裝 mongodb 數(shù)據(jù)庫腳本 -
105.使用mobaXtrem顯示centos上的圖形工具 -
106.一鍵申請多個證書 shell 腳本 -
107.基于CentOS一鍵編譯安裝redis腳本 -
108.基于CentOS一鍵安裝tomcat腳本 -
109.一鍵證書申請和頒發(fā)腳本
注:資料整理自網(wǎng)絡,僅作免費交流分享,侵刪