当前位置:首页 » 《资源分享》 » 正文

傻瓜化K8S应用日志下载

7 人参与  2024年05月15日 14:44  分类 : 《资源分享》  评论

点击全文阅读


需求描述:

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

问题分析:

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

应用场景:

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

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

 具体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=100cd /data/logswhile (($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 "##############---输入错误,请按照指定应用序号输入---################"    fiecho "                                                                     "    echo "--- 导出日志存放路径   /data/logs/  等待返回选择页面或者按 0 退出 -------"    echo "                                                                     "sleep 10done


点击全文阅读


本文链接:http://zhangshiyu.com/post/109002.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1