面试常用shell脚本_介绍几种日常运维中常用的shell脚本

1、查看网卡实时流量

# vi check_network.sh

"#!/bin/bash

NIC=$1

echo -e "" In ------ Out""

while true; do

OLD_IN=$(awk '$0~""'$NIC'""{print $2}' /proc/net/dev)

OLD_OUT=$(awk '$0~""'$NIC'""{print $10}' /proc/net/dev)

sleep 1

NEW_IN=$(awk '$0~""'$NIC'""{print $2}' /proc/net/dev)

NEW_OUT=$(awk '$0~""'$NIC'""{print $10}' /proc/net/dev)

IN=$(printf ""%.1f%s"" ""$((($NEW_IN-$OLD_IN)/1024))"" ""KB/s"")

OUT=$(printf ""%.1f%s"" ""$((($NEW_OUT-$OLD_OUT)/1024))"" ""KB/s"")

echo ""$IN $OUT""

sleep 1

done"

执行:sh check.sh ens33

2、批量查询网站是否可以访问

# vi check_web.sh

"#!/bin/bash

URL_LIST=""www.baidu.com www.sina.cn""

for URL in $URL_LIST; do

FAIL_COUNT=0

for ((i=1;i<=3;i++)); do

HTTP_CODE=$(curl -I -m 10 -o /dev/null -s -w %{http_code} $URL)

if [ $HTTP_CODE -eq 200 ]; then

echo ""$URL OK""

break

else

echo ""$URL retry $FAIL_COUNT""

let FAIL_COUNT++

fi

done

if [ $FAIL_COUNT -eq 3 ]; then

echo ""Warning: $URL Access failure!""

fi

done"

3、检查 MySQL 主从同步状态

# vi check_mysql.sh

"#!/bin/bash

USER=bak

PASSWD=123456

IO_SQL_STATUS=$(mysql -u$USER -p$PASSWD -e 'show slave statusG' |awk -F:

'/Slave_.*_Running/{gsub("": "","":"");print $0}') #gsub 去除冒号后面的空格

for i in $IO_SQL_STATUS; do

THREAD_STATUS_NAME=${i%:*}

THREAD_STATUS=${i#*:}

if [ ""$THREAD_STATUS"" != ""Yes"" ]; then

echo ""Error: MySQL Master-Slave $THREAD_STATUS_NAME status is

$THREAD_STATUS!""

fi

done"

4、DDOS攻击nginx防范

"#!/bin/bash

DATE=$(date +%d/%b/%Y:%H:%M)

LOG_FILE=/etc/nginx/logs/access.log

ABNORMAL_IP=$(tail -n5000 $LOG_FILE |grep $DATE |awk '{a[$1]++}END{for(i in a)if(a[i]>10)print i}')

for IP in $ABNORMALIP; do

if [ $(iptables -vnL |grep -c ""$IP"") -eq 0 ]; then

iptables -I INPUT -s $IP -j DROP

echo ""$(date +'%F%T') $IP"" >> /tmp/drop_ip.log

fi

done"

35d0e975c616be441338cc04a809f6a4.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值