shell腳本查看k8s日志介紹
查看日志:
kubectl logs -f podName --tail 100
比如我們?nèi)绻氩橹付ǖ膒od,指定行數(shù),指定的內(nèi)容,
每次都需要輸入
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
指定參數(shù) getopts
#!/bin/bash # ":":如果某個(gè)選項(xiàng)(option)后面出現(xiàn)了冒號(hào)(":"),則表示這個(gè)選項(xiàng)后面可以接參數(shù) 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 "未知參數(shù)" 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.執(zhí)行 shell 腳本\r問題
腳本是在window下編輯完成后上傳到linux上執(zhí)行的,win下的換行是回車符+換行符,也就是\r\n,而unix下是換行符\n。linux下不識(shí)別\r為回車符,所以導(dǎo)致每行的配置都多了個(gè)\r,因此是腳本編碼的問題。
2.命令中的grep
可以發(fā)現(xiàn)最終拼接出來的字符串,是一條正確的命令,但是通過${CMD}
執(zhí)行該變量報(bào)錯(cuò)。
原因:
如果在shell中定義一個(gè)命令,帶了管道,例如
CMD=“ls -l | grep xx”
直接執(zhí)行$CMD,會(huì)出現(xiàn)如下報(bào)錯(cuò)
ls: cannot access |: No such file or directory
ls: cannot access grep: No such file or directory
管道符會(huì)被解釋為普通字符
加上eval
CMD=“eval ls -l | grep xx”
到此這篇關(guān)于shell腳本查看k8s日志介紹的文章就介紹到這了,更多相關(guān)shell查看k8s日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
合并一個(gè)文件夾下多個(gè)文件內(nèi)容的單行shell命令
有時(shí)候我們需要合并一個(gè)文件夾下多個(gè)文件內(nèi)容,那么就可以參考下面的代碼,單行shell就是可以實(shí)現(xiàn)了,需要的朋友可以參考下2013-02-02linux 中more、less 和 most 的區(qū)別
more 是一個(gè)老式的、基礎(chǔ)的終端分頁閱讀器,它可以用于打開指定的文件并進(jìn)行交互式閱讀。這篇文章主要給大家介紹linux 中more、less 和 most 的區(qū)別,感興趣的朋友跟隨小編一起看看吧2018-11-11Shell腳本實(shí)現(xiàn)檢查服務(wù)器安全狀態(tài)(用戶、登錄IP、防火墻檢查)
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)檢查服務(wù)器安全狀態(tài),本文主要檢查3個(gè)方面,分別是系統(tǒng)用戶檢查、登錄IP檢查、防火墻狀態(tài)檢查,需要的朋友可以參考下2014-12-12shell批量修改主機(jī)密碼的實(shí)現(xiàn)示例
由于機(jī)器數(shù)量眾多,因此采用批量修改密碼的方式來進(jìn)行處理,本文主要介紹了shell批量修改主機(jī)密碼的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12