自动下载pod日志的shell脚本

`#!/bin/bash
TIMESTAMP=KaTeX parse error: Expected 'EOF', got '#' at position 24: …%Y%m%d%H%M%S") #̲#获取jmap日志和堆内存 f…(ssh root@${MASTER_IP} kubectl -n $1 exec -it $2 – ps -ef|grep java|sed -n ‘1p’|awk ‘{print $2}’)
local podname= 2 l o c a l l o g n a m e = " 2 local log_name=" 2locallogname="{podname: -5} T I M E S T A M P " l o c a l h e a p n a m e = " {TIMESTAMP}" local heap_name=" TIMESTAMP"localheapname="{podname: -5} T I M E S T A M P . h e a p " s s h r o o t @ {TIMESTAMP}.heap" ssh root@ TIMESTAMP.heap"sshroot@{MASTER_IP} kubectl -n $1 exec -it 2 − − j m a p − d u m p : f i l e = / t m p / 2 -- jmap -dump:file=/tmp/ 2jmapdump:file=/tmp/log_name p i d s s h r o o t @ pid ssh root@ pidsshroot@{MASTER_IP} kubectl -n $1 exec -it $2 – jmap -heap p i d > / t m p / pid >/tmp/ pid>/tmp/heap_name
local tar_name=" l o g n a m e . t a r " s s h r o o t @ log_name.tar" ssh root@ logname.tar"sshroot@{MASTER_IP} kubectl -n $1 exec -it 2 − − t a r − c z v f / t m p / 2 -- tar -czvf /tmp/ 2tarczvf/tmp/tar_name /tmp/ l o g n a m e s s h r o o t @ log_name ssh root@ lognamesshroot@{MASTER_IP} kubectl -n $1 cp 2 : t m p / 2:tmp/ 2:tmp/tar_name /tmp/ t a r n a m e s c p r o o t @ tar_name scp root@ tarnamescproot@{MASTER_IP}:/tmp/$tar_name /tmp
}

##获取jstat状态
function command_jstat(){
local pid= ( s s h r o o t @ (ssh root@ (sshroot@{MASTER_IP} kubectl -n $1 exec -it $2 – ps -ef|grep java|sed -n ‘1p’|awk ‘{print $2}’)
local podname= 2 l o c a l g c n a m e = " 2 local gc_name=" 2localgcname="{podname: -5} T I M E S T A M P . g c " l o c a l g c u t i l n a m e = " {TIMESTAMP}.gc" local gcutil_name=" TIMESTAMP.gc"localgcutilname="{podname: -5} T I M E S T A M P . g c u t i l " s s h r o o t @ {TIMESTAMP}.gcutil" ssh root@ TIMESTAMP.gcutil"sshroot@{MASTER_IP} kubectl -n $1 exec -it $2 – jstat -gc p i d > / t m p / pid >/tmp/ pid>/tmp/gc_name
ssh root@${MASTER_IP} kubectl -n $1 exec -it $2 – jstat -gcutil p i d > / t m p / pid >/tmp/ pid>/tmp/gcutil_name
}

echo “----------------------------start-------------------”
echo “1 集群1”
echo “2 集群2”
echo “3 集群3”

read -p “请输入序号选择集群:” choice
case $choice in
1)
MASTER_IP=“xxx.xxx.xxx.xxx”
;;
2)
MASTER_IP=“=“xxx.xxx.xxx.xxx””
;;
3)
MASTER_IP=“=“xxx.xxx.xxx.xxx””
;;
*)
echo “选择的序号不存在”
exit 1
;;
esac

namespace=yq e '.namespace' $1
podname=yq e '.podname' $1
command_log $namespace $podname
command_jstat $namespace $podname

执行:
./parse.yaml ipma.yaml

ipma.ymal
namespace: xxxxx
podname: xxxxxx在这里插入代码片`

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值