Allow only one instance to run

This commit is contained in:
Bastian (BaM)
2025-09-13 17:00:05 +02:00
parent a18b0e9c79
commit 520e0d4924

View File

@@ -1,5 +1,6 @@
#!/bin/bash #!/bin/bash
set -euo pipefail set -euo pipefail
SCRIPTNAME=$(basename "$(readlink -f "$0")")
# ========= Configuration ========= # ========= Configuration =========
CONTAINER_NAME="paperless-ai" CONTAINER_NAME="paperless-ai"
@@ -7,11 +8,18 @@ OLLAMA_HOST="192.168.222.12"
OLLAMA_PORT="11434" OLLAMA_PORT="11434"
ERROR_PATTERN="Error: \[ERROR\] Document analysis failed: connect EHOSTUNREACH $OLLAMA_HOST:$OLLAMA_PORT" ERROR_PATTERN="Error: \[ERROR\] Document analysis failed: connect EHOSTUNREACH $OLLAMA_HOST:$OLLAMA_PORT"
# Tools (adjust if your distro uses different names) # Tools (adjust if your distro uses different names)
WOL_CMD="wakeonlan" # or "etherwake -i eth0 $WOL_MAC" WOL_CMD="wakeonlan" # or "etherwake -i eth0 $WOL_MAC"
NC_CMD="nc" # netcat NC_CMD="nc" # netcat
DOCKER="docker" DOCKER="docker"
# Ensure only one instance of this script is running
if pgrep -f $SCRIPTNAME 1>/dev/null; then
echo "Killing running instance of $SCRIPTNAME..."
pgrep -f -- "$SCRIPTNAME" | grep -vw "$$" | xargs -r kill -KILL
fi
log() { printf '[%(%F %T)T] %s\n' -1 "$*"; } log() { printf '[%(%F %T)T] %s\n' -1 "$*"; }
${DOCKER} logs -f --since 0s "${CONTAINER_NAME}" 2>&1 | \ ${DOCKER} logs -f --since 0s "${CONTAINER_NAME}" 2>&1 | \