精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Shell腳本實(shí)戰(zhàn)分享:讓你的工作效率翻倍

開發(fā)
Shell腳本是一種非常實(shí)用的工具,可以幫助我們快速完成各種任務(wù)。今天,我來分享一些常用的Shell腳本,希望對大家有所幫助。

在工作中,我們經(jīng)常需要使用一些自動化工具來提高工作效率。其中,Shell腳本是一種非常實(shí)用的工具,可以幫助我們快速完成各種任務(wù)。今天,我來分享一些常用的Shell腳本,希望對大家有所幫助。

1.檢測兩臺服務(wù)器指定目錄下的文件一致性

這個腳本可以用于比較兩個服務(wù)器上的指定目錄是否一致。通過比較文件的文件的MD5值,可以快速發(fā)現(xiàn)兩個服務(wù)器之間的差異。

#!/bin/bash  
######################################  
檢測兩臺服務(wù)器指定目錄下的文件一致性  
#####################################  
#通過對比兩臺服務(wù)器上文件的md5值,達(dá)到檢測一致性的目的  
dir=/data/web  
b_ip=192.168.88.10  
#將指定目錄下的文件全部遍歷出來并作為md5sum命令的參數(shù),進(jìn)而得到所有文件的md5值,并寫入到指定文件中  
find $dir -type f|xargs md5sum > /tmp/md5_a.txt  
ssh $b_ip"find $dir -type f|xargs md5sum > /tmp/md5_b.txt"
scp $b_ip:/tmp/md5_b.txt /tmp  
#將文件名作為遍歷對象進(jìn)行一一比對  
for f in `awk '{print 2} /tmp/md5_a.txt'`do
#以a機(jī)器為標(biāo)準(zhǔn),當(dāng)b機(jī)器不存在遍歷對象中的文件時直接輸出不存在的結(jié)果  
if grep -qw "$f" /tmp/md5_b.txt  
then
md5_a=`grep -w "$f" /tmp/md5_a.txt|awk '{print 1}'`  
md5_b=`grep -w "$f" /tmp/md5_b.txt|awk '{print 1}'`  
#當(dāng)文件存在時,如果md5值不一致則輸出文件改變的結(jié)果  
if [ $md5_a != $md5_b ]then
echo"$f changed."
fi
else
echo"$f deleted."
fi
done

2.檢測網(wǎng)卡流量,并按規(guī)定格式記錄在日志中

該腳本是通過執(zhí)行sar命令,把服務(wù)器的網(wǎng)卡信息收集起來,可以通過該腳本把網(wǎng)卡的流量做成圖表可視化的界面:

#!/bin/bash  
#######################################################  
#檢測網(wǎng)卡流量,并按規(guī)定格式記錄在日志中#規(guī)定一分鐘記錄一次  
#日志格式如下所示:  
#2019-08-12 20:40  
#ens33 input: 1234bps  
#ens33 output: 1235bps  
######################################################3  
while :  
do
#設(shè)置語言為英文,保障輸出結(jié)果是英文,否則會出現(xiàn)bug  
LANG=en  
logfile=/tmp/`date +%d`.log
#將下面執(zhí)行的命令結(jié)果輸出重定向到logfile日志中  
exec >> $logfile
date +"%F %H:%M"
#sar命令統(tǒng)計的流量單位為kb/s,日志格式為bps,因此要*1000*8  
sar -n DEV 1 59|grep Average|grep ens33|awk '{print $2,"\t","input:","\t",$5*1000*8,"bps","\n",$2,"\t","output:","\t",$6*1000*8,"bps"}'
echo"####################"
#因為執(zhí)行sar命令需要59秒,因此不需要sleep  
done

3.監(jiān)測 Nginx 訪問日志 502 情況,并做相應(yīng)動作

假設(shè)服務(wù)器環(huán)境為 lnmp,近期訪問經(jīng)常出現(xiàn) 502 現(xiàn)象,且 502 錯誤在重啟 php-fpm 服務(wù)后消失,因此需要編寫監(jiān)控腳本,一旦出現(xiàn) 502,則自動重啟 php-fpm 服務(wù)。

#場景:
#1.訪問日志文件的路徑:/data/log/access.log  
#2.腳本死循環(huán),每10秒檢測一次,10秒的日志條數(shù)為300條,出現(xiàn)502的比例不低于10%(30條)則需要重啟php-fpm服務(wù)  
#3.重啟命令為:/etc/init.d/php-fpm restart  
#!/bin/bash  
###########################################################  
#監(jiān)測Nginx訪問日志502情況,并做相應(yīng)動作  
###########################################################  
log=/data/log/access.log  
N=30 #設(shè)定閾值  
while :do
 #查看訪問日志的最新300條,并統(tǒng)計502的次數(shù)  
    err=`tail -n 300 $log |grep -c '502" '`   
if [ $err -ge $N ]   
then
/etc/init.d/php-fpm restart 2> /dev/null   
#設(shè)定60s延遲防止腳本bug導(dǎo)致無限重啟php-fpm服務(wù)  
     sleep 60  
 fi
 sleep 10  
 done

4.掃描主機(jī)端口狀態(tài)

在日常的工作中,通常需要掃描主機(jī)開放了哪些端口,進(jìn)而作出合理的安全規(guī)劃,通過以下的腳本,可以大大提高效率

#!/bin/bash

# 檢查參數(shù)數(shù)量
if [ "$#" -ne 2 ]; then
    echo"用法:$0 <IP地址> <端口號>"
    exit 1
fi

IP="$1"
PORT="$2"

# 使用nc (netcat) 命令掃描端口
nc -z -v -w5 "$IP""$PORT" > /dev/null 2>&1

# 根據(jù)nc命令的返回值判斷端口狀態(tài)
if [ $? -eq 0 ]; then
    echo"端口 $PORT 是開放的"
else
    echo"端口 $PORT 是關(guān)閉的"
fi

將此腳本保存為scan_port.sh,并確保它具有可執(zhí)行權(quán)限(使用chmod +x scan_port.sh)。然后,您可以通過提供目標(biāo)IP地址和端口號來運(yùn)行此腳本,例如:

./scan_port.sh 192.168.1.1 80

5.Expect 實(shí)現(xiàn) SSH 免交互執(zhí)行命令

Expect是一個自動交互式應(yīng)用程序的工具,如telnet,ftp,passwd等。

需先安裝expect軟件包

方法1:EOF標(biāo)準(zhǔn)輸出作為expect標(biāo)準(zhǔn)輸入

#!/bin/bash  
USER=root  
PASS=123.com  
IP=192.168.1.120  
expect << EOFset timeout 30spawn ssh $USER@$IP   expect {    "(yes/no)" {send "yes\r"; exp_continue}    "password:" {send "$PASS\r"}  
}  
expect "$USER@*"  {send "$1\r"}  
expect "$USER@*"  {send "exit\r"}  
expect eof  
EOF

方法2:

#!/bin/bash  
USER=root  
PASS=123.com  
IP=192.168.1.120  
expect -c "  
    spawn ssh $USER@$IP  
    expect {  
        \"(yes/no)\" {send \"yes\r\"; exp_continue}  
        \"password:\" {send \"$PASS\r\"; exp_continue}  
        \"$USER@*\" {send \"df -h\r exit\r\"; exp_continue}  
    }"

將expect腳本獨(dú)立出來

登錄腳本:
# cat login.exp  
#!/usr/bin/expect  
set ip [lindex $argv 0]  
set user [lindex $argv 1]  
set passwd [lindex $argv 2]  
set cmd [lindex $argv 3]  
if { $argc != 4 } {  
puts "Usage: expect login.exp ip user passwd"
exit 1  
}  
set timeout 30  
spawn ssh $user@$ip
expect {      
    "(yes/no)" {send "yes\r"; exp_continue}  
    "password:" {send "$passwd\r"}  
}  
expect "$user@*"  {send "$cmd\r"}  
expect "$user@*"  {send "exit\r"}  
expect eof

執(zhí)行命令腳本:寫個循環(huán)可以批量操作多臺服務(wù)器:

#!/bin/bash  
HOST_INFO=user_info.txt  
for ip in $(awk '{print $1}'$HOST_INFO)  
do
    user=$(awk -v I="$ip"'I==$1{print $2}'$HOST_INFO)  
    pass=$(awk -v I="$ip"'I==$1{print $3}'$HOST_INFO)  
    expect login.exp $ip$user$pass$1
done

user_info.txt的內(nèi)容格式如下:192.168.1.120 root 123456

6.iptables 自動屏蔽訪問網(wǎng)站頻繁的IP

場景:惡意訪問,安全防范

(1) 屏蔽每分鐘訪問超過200的IP

方法1:根據(jù)訪問日志(Nginx為例)

#!/bin/bash  
DATE=$(date +%d/%b/%Y:%H:%M)  
ABNORMAL_IP=$(tail -n5000 access.log |grep $DATE |awk '{a[$1]++}END{for(i in a)if(a[i]>100)print i}')  
#先tail防止文件過大,讀取慢,數(shù)字可調(diào)整每分鐘最大的訪問量。awk不能直接過濾日志,因為包含特殊字符。
for IP in$ABNORMAL_IP; do
    if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then
        iptables -I INPUT -s $IP -j DROP   
    fi
done

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

#!/bin/bash  
ABNORMAL_IP=$(netstat -an |awk '$4~/:80$/ && $6~/ESTABLISHED/{gsub(/:[0-9]+/,"",$5);{a[$5]++}}END{for(i in a)if(a[i]>100)print i}')  
#gsub是將第五列(客戶端IP)的冒號和端口去掉  
for IP in$ABNORMAL_IP; do
    if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then
        iptables -I INPUT -s $IP -j DROP      
        fi
done

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

方法1:通過lastb獲取登錄狀態(tài):

#!/bin/bash  
DATE=$(date +"%a %b %e %H:%M") #星期月天時分  %e單數(shù)字時顯示7,而%d顯示07  
ABNORMAL_IP=$(lastb |grep "$DATE" |awk '{a[$3]++}END{for(i in a)if(a[i]>10)print i}')for IP in$ABNORMAL_IP; do
    if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then
        iptables -I INPUT -s $IP -j DROP    
    fi
done

方法2:通過日志獲取登錄狀態(tài)

#!/bin/bash  
DATE=$(date +"%b %d %H")  
ABNORMAL_IP="$(tail -n10000 /var/log/auth.log |grep "$DATE" |awk '/Failed/{a[$(NF-3)]++}END{for(i in a)if(a[i]>5)print i}')"
for IP in$ABNORMAL_IP; do
    if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then
        iptables -A INPUT -s $IP -j DROP          
        echo"$(date +"%F %T") - iptables -A INPUT -s $IP -j DROP" >>~/ssh-login-limit.log      
    fi
done

anyway,以上是關(guān)于日常工作中常用的腳本分享。

責(zé)任編輯:趙寧寧 來源: 攻城獅成長日記
相關(guān)推薦

2024-04-10 14:08:00

人工智能開發(fā)工具

2021-07-16 23:32:28

工具職場軟件

2021-06-25 10:20:07

Linux技巧命令

2021-09-11 22:51:38

Windows 10Windows微軟

2022-08-24 14:42:51

Linux技巧

2021-04-19 17:12:53

網(wǎng)站工具

2021-07-19 09:18:55

IDEA插件工具

2024-04-09 14:06:06

Git實(shí)用命令版本

2023-05-16 06:50:50

prompt郵件語法

2020-08-17 17:21:30

備份數(shù)據(jù)數(shù)據(jù)庫

2025-10-17 08:00:00

2020-12-16 08:33:57

JS函數(shù)效率

2014-04-04 10:27:50

碼農(nóng)工作效率

2015-11-16 11:53:06

程序員效率加班

2023-02-22 19:15:35

AI工具機(jī)器人

2023-08-01 10:31:03

工具平臺插件化

2023-04-27 13:16:45

2023-11-29 07:04:19

Git工作效率

2023-04-18 23:39:07

VS Code代碼編輯器插件

2009-12-21 16:51:50

無線路由器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲精品久久久久久久久久久久| 91免费版在线看| 美乳少妇欧美精品| 亚洲熟女一区二区| 毛片av免费在线观看| 日韩精品人妻中文字幕| 日韩av密桃| 精品福利av导航| 热久久精品国产| 四虎影院观看视频在线观看| 久久久久久毛片| 91麻豆精品秘密入口| 青青视频在线免费观看| 午夜亚洲福利| 国产亚洲xxx| 久久人妻少妇嫩草av蜜桃| 欧美三级精品| 亚洲高清免费视频| 精品国产一区二区三区在线观看 | 欧美中文在线观看| 99成人在线观看| 日韩在线你懂的| 日韩一区二区中文字幕| 免费看污污网站| 美女在线视频免费| 一区二区三区欧美激情| 亚洲国产成人不卡| 国产原创av在线| a亚洲天堂av| 99久久精品无码一区二区毛片 | 亚洲国产精品123| 无码精品视频一区二区三区| 国产综合色在线视频区| 国产精品高潮在线| 永久免费无码av网站在线观看| 亚洲欧美一级二级三级| 久久精品国产69国产精品亚洲| 久久精品成人av| 日韩精品社区| 亚洲激情在线观看| 国产成人av无码精品| japanese色系久久精品| 日韩欧美一卡二卡| 北条麻妃亚洲一区| 婷婷久久免费视频| 欧美日韩国产小视频在线观看| 欧美日韩大尺度| 成人欧美大片| 色拍拍在线精品视频8848| 97国产在线播放| 小视频免费在线观看| 欧美日韩另类在线| 成人久久久久久久久| 高清视频在线观看三级| 亚洲va欧美va人人爽| 免费一级特黄毛片| 色老头在线一区二区三区| 精品久久久久久久久久久久| 女性女同性aⅴ免费观女性恋| 国内激情视频在线观看| 日韩欧美精品中文字幕| 国产成人手机视频| 国外成人福利视频| 在线综合视频播放| 国产女主播在线播放| 久久91在线| 亚洲欧美日韩国产成人| 能免费看av的网站| 91综合久久一区二区| 久久夜色精品国产亚洲aⅴ| 精品欧美一区二区久久久久| 好吊视频一区二区三区四区| 97在线看福利| 波多野结衣影片| 激情深爱一区二区| 国产精品久久久对白| 天堂av网在线| 国产精品网站一区| 国产精品自拍合集| 欧美magnet| 欧美一区二区在线视频| 国产xxxxxxxxx| 成人aaaa| 欧美精品日韩三级| 久久精品视频1| 久久99精品一区二区三区| 国产福利久久| 国产三级在线免费观看| 伊人婷婷欧美激情| 欧美精品色婷婷五月综合| 亚洲精品毛片| 日韩大陆欧美高清视频区| jizz日本在线播放| 亚洲黄色三级| 国产欧美日韩视频| 视频污在线观看| 亚洲色图20p| 欧美 日韩精品| 日韩在线成人| 在线午夜精品自拍| 99精品视频99| 国产毛片精品视频| 视频在线精品一区| 国产黄大片在线观看| 欧美高清视频不卡网| 狠狠人妻久久久久久综合蜜桃| 欧美激情黄色片| 1769国内精品视频在线播放| 精品国产av 无码一区二区三区 | 麻豆精品一二三| 国产主播一区二区三区四区| 欧美人xxx| 色综合激情五月| 中国免费黄色片| 欧美在线二区| 国产精品一区二区三区久久| 欧美色视频免费| 亚洲电影第三页| 国产精品久久久久久久99| 欧美亚洲激情| 日产精品久久久一区二区福利| 丁香六月色婷婷| 亚洲三级在线免费观看| 午夜在线观看av| 国产精品一区二区三区av麻 | 日本免费一区二区三区四区| 亚洲成人动漫在线播放| 日韩女优一区二区| 精品亚洲国内自在自线福利| 色噜噜狠狠一区二区三区| jizz内谢中国亚洲jizz| 亚洲国产日韩精品在线| 国产精久久久久久| 粉嫩嫩av羞羞动漫久久久| 国产日本欧美在线| 日韩毛片网站| 最近2019年好看中文字幕视频 | 多野结衣av一区| 亚洲国产精品成人一区二区| 久久精品国产亚洲AV无码男同| 国产精品一区二区男女羞羞无遮挡| 亚洲一区二区精品在线| 成人午夜一级| xxxxx成人.com| 国产人妖一区二区| 依依成人综合视频| 潘金莲一级淫片aaaaa| 欧美日韩四区| 国产亚洲精品久久飘花| av老司机免费在线| 国产视频丨精品|在线观看| 中国一级免费毛片| 97se亚洲国产综合在线| 国产aaa一级片| 国产成人三级| 国产精品久久久久久久久免费| 福利在线午夜| 欧美群妇大交群的观看方式| 麻豆明星ai换脸视频| 国产美女在线精品| 久久99久久久久久| 亚洲成a人片77777在线播放| 国产精品成人免费电影| 日本高清视频在线播放| 日韩午夜精品电影| 五月婷婷激情网| 久久久激情视频| 日本黄色的视频| 好吊一区二区三区| 欧美日韩精品免费观看视一区二区| 久久久成人av毛片免费观看| 久久久精品视频成人| 日批视频免费播放| 欧美日韩一区二区三区四区 | 69堂成人精品视频免费| 丁香花在线影院| 亚洲美女性视频| 亚洲怡红院av| 黑人巨大精品欧美一区二区免费| 午夜时刻免费入口| 国产剧情av麻豆香蕉精品| 老太脱裤让老头玩ⅹxxxx| 精品一区在线| 亚洲free性xxxx护士hd| 中文在线а√在线8| www.久久撸.com| 午夜视频在线播放| 欧美福利视频导航| 91久久国产视频| ●精品国产综合乱码久久久久| 国产亚洲精品成人a| 日韩av午夜在线观看| 激情五月六月婷婷| 欧美日韩国产传媒| 国产伦精品一区二区三区免| 国产精品高潮久久| 97视频免费在线观看| 欧美成人性生活视频| 日韩久久精品电影| 中文字幕有码无码人妻av蜜桃| 亚洲一区二区偷拍精品| 91免费在线看片| 91麻豆精品一区二区三区| 伊人国产精品视频| 日日夜夜免费精品| 九色自拍视频在线观看| 亚洲激情中文在线| 视频一区视频二区视频| 婷婷综合福利| 国产精品久久精品视| 99久久这里有精品| 国产精品久久二区| 日韩电影毛片| 欧美精品福利在线| 激情在线小视频| 国产亚洲综合久久| 日本1级在线| 日韩高清a**址| 亚洲av无码国产精品永久一区| 欧美日韩一级黄| 天天爽夜夜爽人人爽| 五月天视频一区| 久久久久亚洲av无码专区 | 免费在线不卡视频| 亚洲高清免费在线| 国产亚洲欧美精品久久久www | 国产午夜精品一区二区三区| 香蕉国产在线视频| 亚洲国产精品yw在线观看| www.中文字幕| 91精品国产麻豆国产自产在线| 在线免费a视频| 欧美最猛黑人xxxxx猛交| 久久免费激情视频| 疯狂欧美牲乱大交777| wwwxxx亚洲| 婷婷综合另类小说色区| 狠狠躁夜夜躁人人爽天天高潮| 亚洲综合色区另类av| 欧美精品xxxxx| 亚洲综合男人的天堂| 免费在线观看av网址| 亚洲一区二区三区在线看 | 色综合色狠狠综合色| 喷水一区二区三区| 伊人av综合网| 色视频免费在线观看| 亚洲精品电影久久久| 少妇一级淫片免费看| 亚洲国产成人爱av在线播放| 黄频在线免费观看| 亚洲精品第一页| 极品美乳网红视频免费在线观看 | 91视频久久| 99中文字幕在线观看| 欧美天堂亚洲电影院在线观看| 白白操在线视频| 亚洲人成人一区二区三区| 日韩少妇内射免费播放18禁裸乳| 国产精品入口| av五月天在线| 国产一区二区不卡老阿姨| 第一页在线视频| 91丨porny丨户外露出| 国产精久久一区二区三区| 国产特黄在线| 日韩和欧美一区二区三区| 丰满少妇被猛烈进入高清播放| 国产亚洲福利| 久久婷婷国产精品| 久久99精品久久久久久动态图| 亚洲精品国产久| av色综合久久天堂av综合| 男生草女生视频| 中文字幕日本乱码精品影院| 欧美丰满艳妇bbwbbw| 狠狠躁18三区二区一区| 中文字幕视频二区| 日韩精品一区二区三区四区 | 亚洲欧美电影| 国产精品偷伦一区二区 | 精久久久久久久久久久| www国产视频| 国产精品久久久久毛片软件| 国产一级免费av| 在线视频欧美区| 亚洲精品久久久蜜桃动漫| 亚洲天堂网在线观看| 午夜dj在线观看高清视频完整版| 欧美亚洲在线视频| 国产美女亚洲精品7777| 玖玖玖精品中文字幕| 性欧美欧美巨大69| 亚洲精品乱码久久久久久自慰| 国产精品综合一区二区| 国产免费一区二区三区网站免费| 亚洲精品菠萝久久久久久久| 无码人妻av免费一区二区三区| 日韩欧美成人午夜| av男人的天堂在线| 2023亚洲男人天堂| 日韩精品一区国产| 亚洲精品乱码视频| 亚洲一区成人| 香蕉视频免费网站| 亚洲视频一区二区在线观看| 销魂美女一区二区| 亚洲国产日韩精品在线| 国内精品久久久久久野外| 日韩免费av一区二区| 久久精品66| 真人做人试看60分钟免费| 全部av―极品视觉盛宴亚洲| 国产精品边吃奶边做爽| 亚洲精品综合在线| 一级片在线免费观看视频| 亚洲一区二区国产| 不卡一二三区| 久久av免费一区| 1024日韩| 深夜视频在线观看| 亚洲另类春色国产| 国产又黄又粗又硬| 中文字幕综合在线| 成人免费在线观看视频| 色视频一区二区三区| 日韩成人精品视频| 欧美成人另类视频| 91福利国产成人精品照片| 五月婷婷深深爱| 91禁外国网站| 清纯唯美亚洲经典中文字幕| 99色这里只有精品| 夫妻av一区二区| 国产小视频在线看| 精品乱人伦小说| 狂野欧美激情性xxxx欧美| 国产精品jizz视频| 国产综合自拍| 男男一级淫片免费播放| 香蕉成人啪国产精品视频综合网| 国产小视频一区| 97视频网站入口| 岳的好大精品一区二区三区| 116极品美女午夜一级| 久久久三级国产网站| 天堂免费在线视频| 在线观看精品国产视频| 四虎地址8848精品| 久久久天堂国产精品| 高清成人免费视频| 日本网站在线免费观看| 欧美高清精品3d| 国产三级视频在线播放线观看| 555www成人网| 精品国产91久久久久久浪潮蜜月| 国产乱子夫妻xx黑人xyx真爽| 久久女同互慰一区二区三区| 成人a v视频| 日韩中文字幕国产精品| 国产精品欧美一区二区三区不卡| 一区二区三区一级片| 国产成人免费视频精品含羞草妖精| 国产在线视频第一页| 日韩精品中文字| 国产资源一区| 亚洲精品蜜桃久久久久久| 99久久精品国产麻豆演员表| 中文字幕在线播| 最新日韩中文字幕| 国产精品自在线拍| www.天天射.com| 一区二区三区四区在线播放| 亚州男人的天堂| 国产日韩av高清| 亚洲黄色三级| 国产精品久久久免费看| 欧美大片免费久久精品三p| 亚洲午夜天堂| 九九久久九九久久| 久久久一区二区三区捆绑**| 97国产精品久久久| 668精品在线视频| 天天操夜夜操国产精品| 国产二级一片内射视频播放| 免费三片在线播放| 在线观看欧美黄色| 丝袜国产在线| 六十路精品视频| 激情图区综合网| av黄色在线看| 久久久精品一区二区三区| 欧美交a欧美精品喷水| 免费在线观看污网站| 午夜精品免费在线观看| 日本美女在线中文版| 久久综合一区二区三区| 国产精品一区二区在线观看网站| 欧美一区二区三区网站| 欧美二区在线播放|