【AI开票革命性落地指南】:2024年企业财务人必须掌握的7大智能开票整合实战场景
2026/6/5 6:19:55
exportPATH=/sbin:/bin:/usr/sbin:/usr/bindate"+%F %T"#IP=$(hostname -I)#IP2=$(ip addr | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v 127.0.0.1)#-o:仅输出匹配的部分(即 IP 地址)。#-P:启用 Perl 兼容正则表达式(PCRE),支持零宽断言等高级语法。#通过 零宽断言 (?<=inet\s)匹配 inet后跟一个空白字符的位置(但不包含 inet和空格本身)# 获取ip地址,自动拼接请求url--> http://ip:port/configIP2=$(hostname-I|awk'{print $1}')ports=$(ps-ef|greporg.apache.flink.yarn.entrypoint.YarnJobClusterEntrypoint|awk'{print "ss -nltp |grep " $2}'|bash\|sed's@*:@@'|awk'{print "echo "$4 "; curl -s http://IP:"$4"/config?wt=json; echo IP"}'\|sed"s@IP@$IP2@g"|bash|grepflink-revision-B1\|grep-vflink-revision|grep-v'\-'|awk'{printf $1 " "}')#添加防火墙doaddrule(){port=$1flag=$(iptables-nL|grepDROP|grep$port)ips=(192.168.56.12192.168.56.13)if[-z"$flag"];thenecho"$portnew, add iptables rule !"#仅允许hadoop集群 + app程序 内部访问foripin"${ips[@]}";doechoiptables-AINPUT-ptcp--dport$port-s$ip-jACCEPT iptables-AINPUT-ptcp--dport$port-s$ip-jACCEPTdoneechoiptables-AINPUT-ptcp--dport$port-jDROP iptables-AINPUT-ptcp--dport$port-jDROPfi}#移除防火墙规则dodelrule(){port=$1flag=$(ss-nltp|grep$port)#当端口不在使用时,去掉防火墙规则if[$port-ge30000]&&[-z"$flag"];thenecho$port"port is not listen, clean iptables rule !"iptables-nLINPUT|grep$i|awk'{print "iptables -D INPUT -s "$4 " -p tcp --dport "$NF " -j "$1 " ; " }'|sed's@dpt:@@'iptables-nLINPUT|grep$i|awk'{print "iptables -D INPUT -s "$4 " -p tcp --dport "$NF " -j "$1 " ; " }'|sed's@dpt:@@'|bashfi}#遍历有漏洞的端口, 给没有添加防火墙的端口补充iptables规则foriin$(echo$ports)dodoaddrule$idone#删除已拦截、且无效的端口规则ports2=$(iptables-nLINPUT|grepDROP|awk'{print $NF}'|sed's@dpt:@@')foriin${ports2};dododelrule$idone