大部分命令都可以搜到,其中一些路径需要修改

#!/bin/bash
# 最多保留日志文件个数,可根据需求进行调整。
keep_log_num=5

ingress_nginx_container_ids=$(docker ps | grep  k8s_nginx-ingress-controller | grep -v pause | awk '{print $1}')

# -z 判断字符串是否为空
if [[ -z "$ingress_nginx_container_ids" ]]; then
    echo "error: failed to get ingress nginx container ids"
    exit 1
fi

#随机睡眠5~10秒
sleep $(( RANDOM % (10 - 5 + 1 ) + 5 ))
for id in $ingress_nginx_container_ids; do
    docker exec $id  bash -c "cd /var/applogs/nginx_ingress_controller; if [[ \$(ls access.log-* | wc -l) -gt $keep_log_num ]]; then rm -f \$(ls -t access.log-* | tail -1); fi ; mv access.log  access.log-\$(date +%F_%H_%M_%S) ; kill -USR1 \$(cat /tmp/nginx.pid)"
done

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐