xml地图|网站地图|网站标签 [设为首页] [加入收藏]

Shell脚本获取国内各大运营商网段脚本分享,ba

来源:http://www.ccidsi.com 作者:集成经验 人气:184 发布时间:2019-07-24
摘要:亚太网络消息记录在这里,天天都有立异。 Linux学习之道:bash编制程序中循环语句用法 ELK自动安装脚本   一、简介 上面这些本子将对这段文本实行编辑,输出国内几小运营商网段。

亚太网络消息记录在这里,天天都有立异。

Linux学习之道:bash编制程序中循环语句用法

ELK自动安装脚本

 

一、简介

上面这些本子将对这段文本实行编辑,输出国内几小运营商网段。

1.if 是单分支语句,使用格式如下: 

ELK由Elasticsearch、Logstash和Kibana三部分零件组成;

复制代码 代码如下:

if condition ; then 

Elasticsearch是个开源布满式寻找引擎,它的特征有:布满式,零配置,自动发掘,索引自动分片,索引别本机制,restful风格接口,非常多据源,自动搜索负载等。

#!/bin/sh
#auto get the IP Table
#get the newest delegated-apnic-latest
rm delegated-apnic-latest

statement 

Logstash是贰个一心开源的工具,它能够对您的日记进行采撷、分析,并将其积攒供之后接纳

if type wget
then wget
else fetch
fi
grep 'apnic|CN|ipv4' delegated-apnic-latest | cut -f 4,5 -d '|' | tr '|' ' ' | while read ip cnt
do
mask=$(bc <<END | tail -1
pow=32;
define log2(x) {
if (x<=1) return (pow);
pow--;
return(log2(x/2));
}
log2($cnt);
END
)
echo $ip/$mask';'>>cnnet

….. 

kibana 是三个开源和不收费的工具,它可感到 Logstash 和 ElasticSearch 提供的日志解析本身的 Web 分界面,可以帮忙您汇总、剖析和查找主要数据日志。

resultext=`whois $ip@whois.apnic.net | grep -e ^netname -e ^descr -e ^role -e ^mnt-by | cut -f 2 -d ':' | sed 's/ *//'`

fi 

二、宗旨器件

if echo $resultext | grep -i -e 'railcom' -e 'crtc' -e 'railway'
then echo $ip/$mask';' >> crc
elif echo $resultext | grep -i -e 'cncgroup' -e 'netcom'
then echo $ip/$mask';' >> cnc
elif echo $resultext | grep -i -e 'chinanet' -e 'chinatel'
then echo $ip/$mask';' >> telcom_acl
elif echo $resultext | grep -i -e 'unicom'
then echo $ip/$mask';' >> unicom
elif echo $resultext | grep -i -e 'cmnet'
then echo $ip/$mask';' >> cmnet
else
echo $ip/$mask';' >> other_acl
fi

2.if … else 是双分支语句,使用格式如下: 

Logstash: logstash server端用来搜聚日志;

done

if condition ; then 

Elasticsearch: 存款和储蓄种种日志;

statement 

Kibana: web化接口用作查寻和可视化日志;

…. 

Filebeat是五个日记文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或然钦定的日记文件,跟踪读取那么些文件(追踪文件的转移,不停的读),并且转载那些信息到elasticsearch可能logstarsh中存放。

else 

三、安装脚本

statement 

#!/bin/bash

…. 

#mail:xuel@anchnet.com

fi 

#data:2017/9/7

3.if …elif…elif…else 是多分支语句,使用格式如下: 

#AutoInstall ELK scripts

if condition ; then 

#Software:elasticsearch-5.4.1/logstash-5.4.1/filebeat-5.4.1/kibana-5.4.1

statement 

clear

…. 

echo "#############################################################################"

elif condition ; then 

echo "#                           Auto Install ELK.                              ##"

statement 

echo "#                           Press Ctrl   C to cancel                       ##"

….. 

echo "#                           Any key to continue                            ##"

elif condition ; then 

echo "# Softwae:elasticsearch-5.4.1/logstash-5.4.1/filebeat-5.4.1/kibana-5.4.1   ##"

statement 

echo "#############################################################################"

….. 

read -n 1

software_dir="/usr/local/software"

elasticsearch_url=""

kibana_url=""

else 

logstash_url=""

statement 

filebeat_url=""

…. 

sys_version=`cat /etc/redhat-release |awk '{print $4}'|cut -d. -f1`

fi 

IP=`ip addr|grep "inet "|grep -v 127.0.0.1|awk '{print $2}'|cut -d/ -f1`

4.while 语句是循环语句,当条件满意的图景下才循环,不知足则脱离循环,使用格式如下: 

jvm_conf="/usr/local/elasticsearch/config/jvm.options"

while condition ; do 

sys_mem=`free -m|grep Mem:|awk '{print $2}'|awk '{sum =$1} END {print sum/1024}'|cut -d. -f1`

statement 

#wget software

….. 

wget_fun() {

done 

if [ ! -d ${software_dir} ];then

5.until 语句也是循环语句,当准则不满足的事态下循环,满足则不循环,使用格式如下: 

mkdir -p ${software_dir} && cd ${software_dir}

until condition ; do 

else

statement 

cd ${software_dir}

….. 

fi

done 

for software in $elasticsearch_url $kibana_url $logstash_url $filebeat_url

6.case 也是循环语句,使用格式如下: 

do

case $var(变量) ; in 

wget -c $software

value1) 

done

…… 

clear

 

}

value2) 

#initial system:install java wget;set hostname;disable firewalld

….. 

init_sys() {

 

[ -f /etc/init.d/functions ] && . /etc/init.d/functions

*) 

[ "${sys_version}" != "7" ] && echo "Error:This Scripts Support Centos7.xx" && exit 1

 

[ $(id -u) != "0" ] && echo "Error: You must be root to run this script" && exit 1

.. 

sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config

.. 

setenforce 0

.. 

yum install -y java-1.8.0-openjdk wget

esac 

hostnamectl set-hostname elk-server

 

systemctl stop firewalld

剧本演习: 

cat >>/etc/security/limits.conf<

 

* soft nofile 65536

1.妄想100以内全部能被3整除的正整数的和。 

* hard nofile 65536

代码如下:

* soft nGproc 65536

 

* hard nproc 65536

#!/bin/bash 

EOF

declare -i sum=0 

}

for I in {1..100}; do 

#install elasticsearch

if [ $[$I%3] -eq 0 ]; then 

install_elasticsearch() {

let sum =$I 

cd $software_dir

fi 

tar zxf elasticsearch-5.4.1.tar.gz

done 

mv elasticsearch-5.4.1 /usr/local/elasticsearch

echo " the sum is :$sum" 

mkdir -p /usr/local/elasticsearch/data /usr/local/elasticsearch/logs

 

useradd elasticsearch

2.企图100以内装有奇数的和以及有着偶数的和 

chown -R elasticsearch:elasticsearch /usr/local/elasticsearch

代码如下:

echo "vm.max_map_count = 655360" >>/etc/sysctl.conf && sysctl -p

 

if [ ${sys_mem} -eq 0 ];then

#!/bin/bash 

sed -i "s#`grep "^-Xmx" ${jvm_conf}`#"-Xmx512m"#g" ${jvm_conf}

# echo "exercise" 

sed -i "s#`grep "^-Xms" ${jvm_conf}`#"-Xms512m"#g" ${jvm_conf}

declare -i sum1=0 

else

declare -i sum2=0 

sed -i "s#`grep "^-Xmx" ${jvm_conf}`#"-Xmx${sys_mem}g"#g" ${jvm_conf}

for I in {1..100}; do 

sed -i "s#`grep "^-Xms" ${jvm_conf}`#"-Xms${sys_mem}g"#g" ${jvm_conf}

if [ $[$I%2] -eq 0 ]; then 

fi

let sum1 =$I 

cat >>/usr/local/elasticsearch/config/elasticsearch.yml<

else 

cluster.name: my-application

let sum2 =$I 

node.name: elk-server

fi 

path.data: /usr/local/elasticsearch/data

done 

path.logs: /usr/local/elasticsearch/logs

echo " the even sum is :$sum1" 

network.host: 127.0.0.1

echo " the oddnumber sum is :$sum2" 

http.port: 9200

 

discovery.zen.ping.unicast.hosts: ["elk-server"]

3.决断/var/log下的公文的门类: 

EOF

万一是习以为常文书,则印证其为平时文书; 

su - elasticsearch -c "nohup /usr/local/elasticsearch/bin/elasticsearch &"

只假若目录文件,则证实其为目录文件; 

}

假假若符号链接文件,则证明其为标识链接文件; 

#install logstash

要不,表明文件类型不能够分辨; 

install_logstash() {

代码如下:

cd $software_dir

 

tar -zxf logstash-5.4.1.tar.gz

#!/bin/bash 

mv logstash-5.4.1 /usr/local/logstash

file1=/var/log/* 

cat>/usr/local/logstash/config/01-syslog.conf<

for file in $file1 ; do 

input {

if [ -f $file ]; then 

beats {

echo "$file is common file" 

port => "5044"

elif [ -d $file ]; then 

}

echo "$file is directory file" 

}

else 

output {

echo "$file is unknow" 

elasticsearch {

fi 

hosts => "127.0.0.1:9200"

done 

}

 

stdout { codec => rubydebug }

4.写贰个剧本,分别展现当前系统上保有暗中同意shell为bash的用户和暗许shell为 

}

/sbin/nologin的用户 

EOF

并总括各个shell下的用户总量,显示结果形如:bash,3user,they 

nohup /usr/local/logstash/bin/logstash -f /usr/local/logstash/config/01-syslog.conf & >/dev/null

are:root,redhat,gentoo nologn,2user,they are:bin,ftp 

}

代码如下:

#install filebeat

 

install_filebeat() {

#!/bin/bash 

cd $software_dir

file=/etc/passwd 

tar -zxf filebeat-5.4.1-linux-x86_64.tar.gz

bsh='/bin/bash' 

mv filebeat-5.4.1-linux-x86_64 /usr/local/filebeat

本文由68399皇家赌场发布于集成经验,转载请注明出处:Shell脚本获取国内各大运营商网段脚本分享,ba

关键词: 68399皇家赌场

上一篇:windows服务器中,SHTML支持设置方法

下一篇:没有了

最火资讯