搜 索

F5 常用 Shell 脚本整理(长期更新)

  • 240阅读
  • 2021年12月07日
  • 0评论
首页 / 🍁F5 / 正文

一、批量域名解析

脚本说明
脚本

说明:批量域名进行域名解析,返回解析结果。

1、创建域名文档
创建要批量解析测试的域名,名称为 domainname.txt 。
注意:名称为一定要为domainname.txt,并且个脚本在同一个路径下。
域名文档内容根据情况进行填写,示例如下:

baidu.com
whbblog.cn
aaa.com

2、创建脚本
3、执行脚本
在执行脚本时一定要使用 -d 参数 ,后面跟要进行域名解析的 DNS 服务器,示例如下:

bash script_name.sh -d 192.168.1.1

#!/bin/bash

#Author:Hongbao Wang
#Date:2021/12/07
#Description:This script performs batch domain name resolution.

function resolve(){
suss=0
fail=0
for dn in $(cat domainname.txt)
do
    nslookup ${dn} -timeout=1 $OPTARG >/dev/null 2>&1
    if [ $? == 0 ] 
    then
        echo "${dn} resolve Succeeded!"
        ((suss++))
    else
        echo "${dn} resolve Failed!"
        ((fail++))
    fi
done
echo "----------------------------------------------"
echo "DNS Resolve Finish, Success : $suss , Failed : $fail"

}

function usage(){
        echo "Usage: -d <dns resolve address> :  Input DNS resolve address"
        echo "Example : $0 -d 192.168.1.1" 
}

nargs=$#
if [ $nargs -eq 0 ] ; then
        usage
fi

while getopts ":d:" OPT &> /dev/null ;do
        case $OPT in
                d)
                        resolve $OPTARG;;
                *)
                        echo "Parameter input error!"
            usage
                        exit 1;;
        esac
done

二、SNAT Pool 成员流量组切换

脚本说明
脚本

实现目的:将 SNAT Pool 中的成员从 traffic-group-1 变更到 traffic-group-2。
需要根据情况手动变更以下位置,
SNAT Pool Name:test_snatpool
Traffic-group:traffic-group-2

for snatpool_member in `tmsh list ltm snatpool test_snatpool members | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|:'|awk '{print $1}'`;do tmsh modify ltm snat-translation ${snatpool_member} traffic-group traffic-group-2;[[ $? -eq 0 ]] && echo "$snatpool_member --> Success " || "$snatpool_member --> Failed";done

三、维保信息输出为表格

脚本说明
脚本

1、维保信息复制在 wb.txt 文件中。
2、创建脚本
3、执行脚本,输出到wb.csv中

#!/bin/bash

#Author:whb
#Date:2022/01/07
#Description:Query maintenance information

if [[ ! -f wb.txt ]] ; then
    echo "File wb.txt is not there, aborting . "
    exit
fi

cat wb.txt | grep -B6 "Entitled Service"| grep 'Serial'| awk -F " : " '{print $2}'| awk '{print $1}' > SN.txt
cat wb.txt | grep "Entitled Service"| awk -F " : " '{print $2}'| awk -F " - " '{print $1}' > Start.txt
cat wb.txt | grep "Entitled Service"| awk -F " : " '{print $2}'| awk -F \( '{print $1}'|awk -F " - " '{print $2}' > End.txt

paste SN.txt Start.txt End.txt > wb.csv
  
sed -i 's/\t/,/g' wb.csv

cat wb.txt | grep "Unknown Serial Number :" | awk '{sub(/^[ \t]+/,"");print $0}'  >> wb.csv

rm -rf SN.txt Start.txt End.txt

echo "Script execution completed,The maintenance information is saved as wb.csv"

四、F5批量增加处理Partition中pool中poolmember

脚本说明
脚本
参数说明

在 partition dmz_partition 下 pool dmz_pool 中 增加 10.252.55.144%2:7058 10.252.55.145%2:7058 10.252.55.148%2:7058 三个新成员。

for i in 144 145 148 ; do tmsh modify ltm pool /dmz_partition/dmz_pool members add { 10.252.55.$i%2:7058 { address 10.252.55.$i%2 } } ; done

需要修改配置如下:
dmz_partition : partition名称
dmz_pool : pool 名称
%2 : domain id
144 145 148 : 变量,在下面$i进行调用

打 赏
  • 微信
WeChatPay
评论区
暂无评论
avatar