返回顶部
首页 > 资讯 > 操作系统 >shell脚本查看k8s日志介绍
  • 679
分享到

shell脚本查看k8s日志介绍

shell脚本优化K8s查看容器日志 2022-06-04 23:06:53 679人浏览 八月长安
摘要

目录占位符的方式指定参数 getopts问题1.执行 shell 脚本\r问题2.命令中的grep查看日志:kubectl logs -f podName --tail 100 比如我们如果想查指定的pod,指定行数,指

目录
  • 占位符的方式
  • 指定参数 getopts
  • 问题
    • 1.执行 shell 脚本\r问题
    • 2.命令中的grep

查看日志kubectl logs -f podName --tail 100

比如我们如果想查指定的pod,指定行数,指定的内容,
每次都需要输入kubectl logs -f xxx --tail yyy | grep zzz
为了方便,可自定义脚本,输入sh .sh xxx yyy zzz可,并且xxx支持RE;

占位符的方式

#!/bin/bash
# kubectl get pods
#notification
x="kubectl logs -f"
y="--tail"
g="|grep"
name=`kubectl get pods | grep ^$1 | awk '{print $1}'`
x="eval $x $name $y $2 $g $3"
${x}

# sh log.sh podName 20 content
# 最终:kubectl logs -f podName --tail 20 | grep content

指定参数 getopts

#!/bin/bash
# ":":如果某个选项(option)后面出现了冒号(":"),则表示这个选项后面可以接参数
x="kubectl logs -f"
y="--tail"
g="|grep"
while getopts ":n:f:c:" opt
do
    case $opt in
        n)
		name=`kubectl get pods | grep ^$OPTARG | awk '{print $1}'`
		x="$x $name"
        ;;
        f)
		x="$x $y $OPTARG"
        ;;
        c) 
        x="$x $g $OPTARG"
        ;;
        ?)
        echo "未知参数"
        exit 1;;
    esac
done
x="eval $x"
${x}
# sh log.sh -n podName -f 20 -c content
# 最终:kubectl logs -f podName --tail 20 | grep content

问题

1.执行 shell 脚本\r问题

脚本是在window下编辑完成后上传到linux上执行的,win下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。linux下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是脚本编码的问题。

在这里插入图片描述

2.命令中的grep

在这里插入图片描述

可以发现最终拼接出来的字符串,是一条正确的命令,但是通过${CMD}执行该变量报错。

原因:
如果在shell中定义一个命令,带了管道,例如

CMD=“ls -l | grep xx”

直接执行$CMD,会出现如下报错

ls: cannot access |: No such file or directory

ls: cannot access grep: No such file or directory

管道符会被解释为普通字符

加上eval

CMD=“eval ls -l | grep xx”

在这里插入图片描述

到此这篇关于shell脚本查看k8s日志介绍的文章就介绍到这了,更多相关shell查看k8s日志内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

--结束END--

本文标题: shell脚本查看k8s日志介绍

本文链接: https://lsjlt.com/news/21542.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • shell脚本查看k8s日志介绍
    目录占位符的方式指定参数 getopts问题1.执行 shell 脚本\r问题2.命令中的grep查看日志:kubectl logs -f podName --tail 100 比如我们如果想查指定的pod,指定行数,指...
    99+
    2022-06-04
    shell脚本优化K8s查看容器日志
  • 如何通过shell脚本查看k8s日志
    这期内容当中小编将会给大家带来有关如何通过shell脚本查看k8s日志,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。查看日志:kubectl logs -f podName --tail 100比如我们如...
    99+
    2023-06-26
  • shell版Nginx日志蜘蛛爬取查看脚本
    shell版Nginx日志蜘蛛爬取查看脚本 用之前改一下nginx日志的路径即可 如果 更多的蜘蛛 自己在 代码蜘蛛UA数组里加即可 #!/bin/bash m="$(date +%m)" cas...
    99+
    2022-06-04
    蜘蛛 脚本 日志
  • 如何实现shell版Nginx日志蜘蛛爬取查看脚本
    本篇内容介绍了“如何实现shell版Nginx日志蜘蛛爬取查看脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#!/bin/bash&nb...
    99+
    2023-06-09
  • nginx日志切割shell脚本
    一、脚本思路第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志。在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,linux是靠文件描述符而不是文件名定位文...
    99+
    2022-06-04
    脚本 日志 nginx
  • Android adb logcat 命令查看日志详细介绍
    Android 开发的程序员开发程序的时候,一定为log而苦恼过吧。Eclipse老是Log找不到,是不是很让人不爽,虽然Android Studio的Logcat功能很不错,...
    99+
    2022-06-06
    logcat adb Android
  • SHELL脚本监控oracle alert日志
    监控alert 日志思路:按alert日志行号取当前最后一行和上一次扫描的行对比 大于等于上一次扫描的行 就从上一次扫描的行开始 扫描到最后一行#!/bin/bash scriptHome=`dirname...
    99+
    2024-04-02
  • sqlserver如何实现查看备份日志脚本
    这篇文章主要介绍了sqlserver如何实现查看备份日志脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 s...
    99+
    2024-04-02
  • Linux shell脚本输出日志笔记整理(必看篇)
    1、日志方法简介: #日志名称 log="./upgrade.log" #操作日志存放路径 fsize=2000000 #如果日志大小超过上限,则保存旧日志,重新生成日志文件 ex...
    99+
    2022-06-04
    必看 脚本 笔记
  • k8s查看pod日志的方法有哪些
    本文小编为大家详细介绍“k8s查看pod日志的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“k8s查看pod日志的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。通过kubectlkubect...
    99+
    2023-07-02
  • Shell脚本学习指南之查找与替换介绍
    3.1 查找文本grep:使用POSIX定义的基本正则表达式(BRE)。egrep:使用扩展正则表达式(ERE)。fgrep:快速grep。使用优化的算法,匹配固定字符串而非正则表达式。 1992 POSI...
    99+
    2022-06-04
    学习指南 脚本 Shell
  • k8s如何查看指定时间段的日志
    要查看指定时间段的日志,可以使用kubectl logs命令结合--since和--until参数来实现。以下是具体步骤: 首先...
    99+
    2024-04-02
  • Shell脚本传参数的方法介绍
    本篇内容介绍了“Shell脚本传参数的方法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、接收固定长度的参数代码如下:[root@sv...
    99+
    2023-06-09
  • Linux Shell脚本查看NUMA信息
    Nova在NFV场景下会提供NUMA相关高级特性,这里提供一个脚本查看计算节点的NUMA相关信息。 #!/bin/bash function get_nr_processor() { grep '^...
    99+
    2022-06-04
    脚本 信息 Linux
  • Shell脚本切割tomcat的日志文件
    鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢谢了)...
    99+
    2022-06-04
    脚本 文件 日志
  • Shell脚本中的echo命令使用介绍
    目录引言1.显示普通字符串:2.显示转义字符3.显示变量4.显示换行5.显示不换行6.显示结果定向至文件7.原样输出字符串,不进行转义或取变量(用单引号)8.显示命令执行结果引言 Shell 的 echo 指令与 ph...
    99+
    2023-05-12
    Shell脚本echo命令 Shell脚本命令
  • shell脚本设置日志格式的方法
    shell脚本设置日志格式 1.封装函数 #!/bin/bash function\033[0m" } #一直都会打印的日志 function log_always(){ content="[ALWAYS] $...
    99+
    2024-04-02
  • shell脚本怎么输出日志到文件
    在shell脚本中,可以使用重定向操作符`>`将标准输出或标准错误输出到文件中。以下是将脚本中的日志输出到文件的几种常见方式:1. ...
    99+
    2023-09-14
    shell
  • 什么是Shell?Shell脚本基础知识详细介绍
    Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和...
    99+
    2022-06-04
    详细介绍 基础知识 脚本
  • MySQL的binlog日志的简介与查看
    您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。 💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 P...
    99+
    2023-10-22
    mysql 数据库 java SpringBoot 原力计划
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作