#!/usr/local/bin/bash # Copyright (c) 2018-2022, diyIT.org # All rights reserved. # # BSD 2-Clause License ("Simplified BSD License" or "FreeBSD License") # https://diyit.org/license/ # # Q=`netstat -LAan | grep "*.3000" | cut -f3 -d" " | cut -f1 -d/` # Q is null if gitea service is not running # 1537 is max stuck recvQ qlen limit when logging start: # sonewconn: pcb 0xfffff804b9f73d58: Listen queue overflow: 1537 already in queue awaiting acceptance (30 occurrences) if [ ! "$Q" ] || [ $Q -ge 100 ]; then echo "restarting gitea stuck at $Q" tail /var/log/gitea/gitea.log kill -9 `pgrep gitea` ; sleep 2 ; service gitea start fi # crontab - 5 * * * * /mnt/config/gitea-restart.sh