k8s ingress-nginx日志分割(shell脚本)
大部分命令都可以搜到,其中一些路径需要修改。
·
大部分命令都可以搜到,其中一些路径需要修改
#!/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
更多推荐
已为社区贡献1条内容
所有评论(0)