0


傻瓜化K8S应用日志下载

需求描述:

   研发人员经常需要导出应用日志,将操作傻瓜化,有助于运维休假。

问题分析:

   应用名称设置编号,脚本接收输入编号,导出对应的日志并保存。

应用场景:

   重复操作,简单化、傻瓜化让非技术人员也可以操作。

如下图脚本执行界面效果图。

具体shell脚本如下:

#!/bin/bash
#AUTHOR       : Created by YaoButing
#PLATFORM     : CentOS Linux release 7.8.2003(2003)
#VERSION      : 3.0
#DATE         : 2021-09-08
#DESCRIPTION  : This script is used to muanual download k8s logs.
###############################################################################
NUMBER=100

cd /data/logs
while (($NUMBER>0))
do                                                                                                                                                                                                                                        
    echo "                    请选择需要导出日志的应用序号                        "
    echo "*********************************************************************"
    echo "*                                                                   *"
    echo "*         [ 101 ].AAAAA                    [ 111 ].BBBBB            *"   
    echo "*                                                                   *"
    echo "*         [ 102 ].CCCCC                    [ 112 ].DDDDD            *"           
    echo "*                                                                   *"
    echo "*********************************************************************"
    echo "                          按 0 推出脚本                               "
    echo "                                                                     "
    read -p "请输入将要执行的动作序号:" NUMBER
    echo "                                                                     "
    echo "                                                                     "
    if (($NUMBER==101))
    then         
        echo "####--  101  --###  导出    AAAAA    日志  #######################"
        for pod in `kubectl get pod -n CSDN | grep AAAAA | awk '{print $1}'`
        do
            timeout 15 kubectl logs -f $pod -n CSDN > /data/logs/AAAAA-`date "+%Y-%m-%d-%H-%M-%S"`.log
               echo "                         $pod                 日志已导出......"
        done
        tar -zcPvf /data/logs/AAAAA-`date "+%Y-%m-%d-%H"`.tar.gz /data/logs/AAAAA-`date "+%Y-%m-%d-%H"`*.log
        rm -rf /data/logs/*.log
        echo "####--  101  --###  导出    AAAAA    日志  #######################"
    elif (($NUMBER==102))
    then         
        echo "####--  102  --###  导出    BBBBB    日志  #######################"
        for pod in `kubectl get pod -n CSDN | grep BBBBB | awk '{print $1}'`
        do
            timeout 15 kubectl logs -f $pod -n CSDN > /data/logs/BBBBB-`date "+%Y-%m-%d-%H-%M-%S"`.log
               echo "                         $pod                 日志已导出......"
        done
        tar -zcPvf /data/logs/BBBBB-`date "+%Y-%m-%d-%H"`.tar.gz /data/logs/BBBBB-`date "+%Y-%m-%d-%H"`*.log
        rm -rf /data/logs/*.log
        echo "####--  102  --###  导出    BBBBB    日志  #######################"
    elif (($NUMBER==111))
    then         
        echo "####--  111  --###  导出    CCCCC    日志  #######################"
        for pod in `kubectl get pod -n CSDN | grep CCCCC | awk '{print $1}'`
        do
            timeout 15 kubectl logs -f $pod -n CSDN > /data/logs/CCCCC-`date "+%Y-%m-%d-%H-%M-%S"`.log
               echo "                         $pod                 日志已导出......"
        done
        tar -zcPvf /data/logs/CCCCC-`date "+%Y-%m-%d-%H"`.tar.gz /data/logs/CCCCC-`date "+%Y-%m-%d-%H"`*.log
        rm -rf /data/logs/*.log
        echo "####--  111  --###  导出    CCCCC    日志  #######################"
    elif (($NUMBER==112))
    then         
        echo "####--  112  --###  导出    DDDDD    日志  #######################"
        for pod in `kubectl get pod -n CSDN | grep DDDDD | awk '{print $1}'`
        do
            timeout 15 kubectl logs -f $pod -n CSDN > /data/logs/DDDDD-`date "+%Y-%m-%d-%H-%M-%S"`.log
               echo "                         $pod                 日志已导出......"
        done
        tar -zcPvf /data/logs/AAAAA-`date "+%Y-%m-%d-%H"`.tar.gz /data/logs/DDDDD-`date "+%Y-%m-%d-%H"`*.log
        rm -rf /data/logs/*.log
        echo "####--  112  --###  导出    DDDDD    日志  #######################"
    elif (($NUMBER==0))
    then
        echo "###################---      程序即将退出     ---##################"
    else
        echo "##############---输入错误,请按照指定应用序号输入---################"
    fi
    echo "                                                                     "
    echo "--- 导出日志存放路径   /data/logs/  等待返回选择页面或者按 0 退出 -------"
    echo "                                                                     "
    sleep 10
done
标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/tiger0310119/article/details/138424931
版权归原作者 藥瓿亭 所有, 如有侵权,请联系我们删除。

“傻瓜化K8S应用日志下载”的评论:

还没有评论