install_kibana

阅读次数:13 次  |  发布时间:2020-07-29T23:50:28Z 

#!/bin/bash
# auth:kaliarch
# version:v1.0
# func:kibana 6.0.1/6.2.4/6.3.1 安装

# 定义安装目录、及日志信息
. /etc/init.d/functions
[ $(id -u) != "0" ] && echo "Error: You must be root to run this script" && exit 1
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
download_path=/tmp/tmpdir/
install_log_name=install_kibana.log
env_file=/etc/profile.d/kibana.sh
install_log_path=/var/log/appinstall/
install_path=/usr/local/
software_config_file=${install_path}kibana/config/kibana.yml

clear
echo "##########################################"
echo "#                                        #"
echo "#   安装 kibana 6.0.1/6.2.4/6.3.1        #"
echo "#                                        #"
echo "##########################################"
echo "1: Install kibana 6.0.1"
echo "2: Install kibana 6.2.4"
echo "3: Install kibana 6.3.1"
echo "4: EXIT"
# 选择安装软件版本
read -p "Please input your choice:" softversion
if [ "${softversion}" == "1" ];then
        URL="https://anchnet-script.oss-cn-shanghai.aliyuncs.com/kibana/kibana-6.0.1-linux-x86_64.tar.gz"
elif [ "${softversion}" == "2" ];then
        URL="https://anchnet-script.oss-cn-shanghai.aliyuncs.com/kibana/kibana-6.2.4-linux-x86_64.tar.gz"
elif [ "${softversion}" == "3" ];then
        URL="https://anchnet-script.oss-cn-shanghai.aliyuncs.com/kibana/kibana-6.3.1-linux-x86_64.tar.gz"
elif [ "${softversion}" == "4" ];then
        echo "you choce channel!"
        exit 1;
else
        echo "input Error! Place input{1|2|3|4}"
        exit 0;
fi

# 传入内容,格式化内容输出,可以传入多个参数,用空格隔开
output_msg() {
    for msg in $*;do
        action $msg /bin/true
    done
}


# 判断命令是否存在,第一个参数 $1 为判断的命令,第二个参数为提供该命令的yum 软件包名称
check_yum_command() {
        output_msg "命令检查:$1"
        hash $1 >/dev/null 2>&1
        if [ $? -eq 0 ];then
            echo "`date +%F' '%H:%M:%S` check command $1 ">>${install_log_path}${install_log_name} && return 0
        else
            yum -y install $2 >/dev/null 2>&1
        #    hash $Command || { echo "`date +%F' '%H:%M:%S` $2 is installed fail">>${install_log_path}${install_log_name} ; exit 1 }
        fi
}

# 判断目录是否存在,传入目录绝对路径,可以传入多个目录
check_dir() {
    output_msg "目录检查"
    for dirname in $*;do
        [ -d $dirname ] || mkdir -p $dirname >/dev/null 2>&1
        echo "`date +%F' '%H:%M:%S` $dirname check success!" >> ${install_log_path}${install_log_name}
    done
}

# 下载文件并解压至安装目录,传入url链接地址
download_file() {
    output_msg "下载源码包"
    mkdir -p $download_path 
    for file in $*;do
        wget $file -c -P $download_path &> /dev/null
        if [ $? -eq 0 ];then
           echo "`date +%F' '%H:%M:%S` $file download success!">>${install_log_path}${install_log_name}
        else
           echo "`date +%F' '%H:%M:%s` $file download fail!">>${install_log_path}${install_log_name} && exit 1
        fi
    done
}


# 解压文件,可以传入多个压缩文件绝对路径,用空格隔开,解压至安装目录
extract_file() {
   output_msg "解压源码"
   for file in $*;do
       if [ "${file##*.}" == "gz" ];then
           tar -zxf $file -C $install_path && echo "`date +%F' '%H:%M:%S` $file extrac success!,path is $install_path">>${install_log_path}${install_log_name}
       elif [ "${file##*.}" == "zip" ];then
           unzip -q $file -d $install_path && echo "`date +%F' '%H:%M:%S` $file extrac success!,path is $install_path">>${install_log_path}${install_log_name}
       else
           echo "`date +%F' '%H:%M:%S` $file type error, extrac fail!">>${install_log_path}${install_log_name} && exit 1
       fi
    done
}

# 配置环境变量,第一个参数为添加环境变量的绝对路径
config_env() {
    output_msg "环境变量配置"
    echo "export PATH=\$PATH:$1" >${env_file}
    source ${env_file} && echo "`date +%F' '%H:%M:%S` 软件安装完成!">> ${install_log_path}${install_log_name}

}

# 添加配置文件
add_config() {
cat> $1 <<EOF
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://127.0.0.1:9200"
EOF
}

main() {
check_dir $install_log_path $install_path
check_yum_command wget wget
download_file $URL

software_name=$(echo $URL|awk -F'/' '{print $NF}'|awk -F'.tar.gz' '{print $1}')
for filename in `ls $download_path`;do
    extract_file ${download_path}$filename
done
rm -fr ${download_path}
ln -s ${install_path}$software_name ${install_path}kibana
add_config ${software_config_file}
config_env ${install_path}kibana/bin
}

main


最近发布的代码:

移除所有已停止的DOCKER Shell 程序  |  12次阅读  | 发布于:2020-08-08T12:58:23Z
使用ffmpeg命令行:删除音频中静音的部分 Shell 程序  |  5次阅读  | 发布于:2020-08-01T23:03:45Z
install_kibana Shell 程序  |  13次阅读  | 发布于:2020-07-29T23:50:28Z
install_logstash Shell 程序  |  13次阅读  | 发布于:2020-07-29T23:50:28Z
install_maven Shell 程序  |  16次阅读  | 发布于:2020-07-29T23:50:28Z
install_tomcat Shell 程序  |  14次阅读  | 发布于:2020-07-29T23:50:28Z
install_zookeeper Shell 程序  |  13次阅读  | 发布于:2020-07-29T23:50:28Z
删除用户脚本 Shell 程序  |  17次阅读  | 发布于:2020-07-29T23:50:28Z
查看磁盘目录使用情况 Shell 程序  |  11次阅读  | 发布于:2020-07-29T23:50:28Z
自动化下载脚本 Shell 程序  |  21次阅读  | 发布于:2020-07-29T23:50:28Z
Sys_Check Shell 程序  |  12次阅读  | 发布于:2020-07-29T23:50:27Z
black_list Shell 程序  |  14次阅读  | 发布于:2020-07-29T23:50:27Z
check_mysql_ms Shell 程序  |  12次阅读  | 发布于:2020-07-29T23:50:27Z
install_elasticserch Shell 程序  |  11次阅读  | 发布于:2020-07-29T23:50:27Z
install_filebeat Shell 程序  |  7次阅读  | 发布于:2020-07-29T23:50:27Z
install_git Shell 程序  |  11次阅读  | 发布于:2020-07-29T23:50:27Z
install_grafana Shell 程序  |  14次阅读  | 发布于:2020-07-29T23:50:27Z
install_kafka Shell 程序  |  9次阅读  | 发布于:2020-07-29T23:50:27Z
默认退出状态码 Shell 程序  |  10次阅读  | 发布于:2020-07-29T23:50:26Z
Autoback-xtraback Shell 程序  |  12次阅读  | 发布于:2020-07-29T23:50:26Z
Autoinstall_ELK_V1.3 Shell 程序  |  9次阅读  | 发布于:2020-07-29T23:50:26Z
Cpu_Limit Shell 程序  |  7次阅读  | 发布于:2020-07-29T23:50:26Z
Custom_Rm Shell 程序  |  8次阅读  | 发布于:2020-07-29T23:50:26Z
Daily_Archive Shell 程序  |  11次阅读  | 发布于:2020-07-29T23:50:26Z
Hourly_Archive Shell 程序  |  8次阅读  | 发布于:2020-07-29T23:50:26Z
IP_iptables Shell 程序  |  12次阅读  | 发布于:2020-07-29T23:50:26Z
使用局部变量 Shell 程序  |  11次阅读  | 发布于:2020-07-29T23:50:25Z
使用库函数 Shell 程序  |  9次阅读  | 发布于:2020-07-29T23:50:25Z
全局变量 Shell 程序  |  7次阅读  | 发布于:2020-07-29T23:50:25Z
在函数中使用参数 Shell 程序  |  9次阅读  | 发布于:2020-07-29T23:50:25Z

最多阅读的代码

 SSH 登录失败:Host key verification failed Shell 程序  |  2465次阅读
 让你成为最历害的git提交人 Shell 程序  |  1647次阅读
 wget使用技巧 Shell 程序  |  1550次阅读
 切换到后台执行的shell命令 Shell 程序  |  1325次阅读
 查询当前网段内,那些IP被使用了 Shell 程序  |  1283次阅读
 使用shell统计代码行数 Shell 程序  |  1261次阅读
 使用Shell获取当前时间 Shell 程序  |  1216次阅读
 判断管理员 Shell 程序  |  1130次阅读
 unzip和zip指令的使用方法 Shell 程序  |  1035次阅读
 Shell按行读取文件 Shell 程序  |  916次阅读
 Shell 获取当前正在执行脚本的绝对路径 Shell 程序  |  901次阅读
 Shell的For循环的几种写法 Shell 程序  |  861次阅读
 读取Linux系统的CPU信息 Shell 程序  |  821次阅读
 字符界面加减乘除计算器 Shell 程序  |  818次阅读
 Linux下枚举所有的用户信息 Shell 程序  |  784次阅读
 找出目录中最大的文件 Shell 程序  |  725次阅读
 提取用户的账号信息 Shell 程序  |  688次阅读
 Bash Shell的文件格式 Shell 程序  |  666次阅读
 使用Shell文件判断文件或目录 Shell 程序  |  661次阅读
 shell 提取文件名和目录名 Shell 程序  |  577次阅读
 在shell中将"\n"以换行的方式输出 Shell 程序  |  495次阅读
 shell/查看Linux的磁盘大小 Shell 程序  |  407次阅读
 检查shell文件是否运行在自己的目录下 Shell 程序  |  389次阅读
 根据进程名Kill指定进程 Shell 程序  |  345次阅读
 枚举目录下的文件 Shell 程序  |  330次阅读
 枚举数组 Shell 程序  |  327次阅读