#!/bin/bash
logPath=/logs
currentPath=/path
nameSpace=name
read -p "请输入服务名:" ServiceName
echo "<STEP 1> 您输入的服务名是:$ServiceName"
# 查看服务的运行pods
PodList=$(kubectl get pods -A|grep $ServiceName|grep Running|awk '{print $2}')
# 输入日期
read -p "请输入导出日志的日期:(格式为xxxx-xx-xx)" logtime
# 对pods进行遍历
for ((i=0;i<${#Podlist[@];i++}))
# 获取pods下的服务日志名
do
LogFile=$(kubectl exec -it ${PodList[i]} -n $nameSpace -- ls $logPath/#ServiceName|grep $logtime |tr -d '\r' )
for ((n=0;n<${#Loglist[@];n++}))
do
echo "此服务存在以下日志文件:$(LogFile[n])"
# 创建文件夹
mkdir -p $currentPath/$ServiceName-$logtime/${PodList[i]}/
# 执行拷贝操作
copy=$(kubectl cp $nameSpace/${PodList[i]}:$logPath/#ServiceName/${LogFile[n]}) $currentPath/${PodList[i]}/${LogFile[n]}
done;
done;
# 对日志进行打包
tar czvf $ServiceName-$logtime.tar.gz ./$ServiceName-$logtime
# 对日志进行删除
rm -rf ./$ServiceName-$logtime
echo "日志打包完成"
华为云k8s容器日志导出到CCE节点自动化脚本
于 2023-09-19 14:33:54 首次发布