天天看點

超實用!18 個開箱即用的 Shell 腳本,拿好了~mv $file $(echo $file |sed -r 's/.(_.)/bbs\1/')

1、檢測兩台伺服器指定目錄下的檔案一緻性

2、定時清空檔案内容,定時記錄檔案大小

3、檢測網卡流量,并按規定格式記錄在日志中

4、計算文檔每行出現的數字個數,并計算整個文檔的數字總數

殺死所有腳本

5、從 FTP 伺服器下載下傳檔案

6、連續輸入5個100以内的數字,統計和、最小和最大

使用者猜數字

7、監測 Nginx 通路日志 502 情況,并做相應動作

假設伺服器環境為 lnmp,近期通路經常出現 502 現象,且 502 錯誤在重新開機 php-fpm 服務後消失,是以需要編寫監控腳本,一旦出現 502,則自動重新開機 php-fpm 服務。

8、将結果分别指派給變量

應用場景:希望将執行結果或者位置參數指派給變量,以便後續使用。

方法1:

方法2:将位置參數192.168.1.1{1,2}拆分為到每個變量

9、批量修改檔案名

示例:

for file in $(ls html); do

mv $file bbs_${file#_}

done

方法3:

2)腳本如下:

10、統計目前目錄中以.html結尾的檔案總大

11、掃描主機端口狀态

12、輸入數字運作相應指令

13、Expect 實作 SSH 免互動執行指令

Expect是一個自動互動式應用程式的工具,如telnet,ftp,passwd等。

需先安裝expect軟體包。

方法1:EOF标準輸出作為expect标準輸入

方法2:

方法3:将expect腳本獨立出來

執行指令腳本:寫個循環可以批量操作多台伺服器

14、監控 httpd 的程序數,根據監控情況做相應處理

15、批量修改伺服器使用者密碼

Linux主機SSH連接配接資訊:舊密碼

16、iptables 自動屏蔽通路網站頻繁的IP

場景:惡意通路,安全防範

1)屏蔽每分鐘通路超過200的IP

方法1:根據通路日志(Nginx為例)

方法2:通過TCP建立的連接配接

2)屏蔽每分鐘SSH嘗試登入超過10次的IP

方法1:通過lastb擷取登入狀态:

方法2:通過日志擷取登入狀态

17、根據web通路日志,封禁請求量異常的IP,如IP在半小時後恢複正常,則解除封禁

18、判斷使用者輸入的是否為IP位址

方法1:

增加版:

加個死循環,如果IP可用就退出,不可用提示繼續輸入,并使用awk判斷。

(版權歸原作者所有,侵删)

繼續閱讀