shell 腳本查找k8s pod中的日誌

適用場景:

k8s集羣中跟蹤某個字段的日誌,比如某路視頻流的唯一標識符,不知道被調度到哪個pod,需要一一進入到容器內查找。

pod=$(kubectl get pod|grep *** |awk '{print $1}');
for i in $pod;
do

# 輸出容器名
echo kubectl exec -it $i bash;

#再各個容器中查找
kubectl exec $i -- grep -rn $1 /var/log/;
done;

 

linux文件中字符替換

1、將當前目錄下包含jack串的文件中jack字符串替換爲tom
sed -i "s/jack/tom/g" `grep "jack" -rl ./`
2、將某個文件中的jack字符串替換爲tom
sed -i "s/jack/tom/g" test.txt

 

vi 編輯文件時字符替換:

進入命令行模式,將1234替換爲567
:1,  $s /1234/567/

vi 中查找字符123:

/或者?123

按n下一處,shift + n上一處。

輸入G調到文件末尾,H調到開頭。(通常是shift + g/h)

 

grep 查看日誌常用:

grep -rn helloworld ./*  //查找當前目錄下包含helloworld的文本並顯示行號,配合vi file_name +123(行號)使用。

./* 可省去或替換爲其它目錄或具體文本。

-v 反過濾,-i 忽略大小寫, -w 單詞完全匹配,  -c 顯示匹配到的行數,-A/B/C 前/後/中間 顯示行數。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章