initial: NAS agent runner setup
This commit is contained in:
commit
9d8a7fe237
16 changed files with 1121 additions and 0 deletions
36
rotate-logs.sh
Normal file
36
rotate-logs.sh
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/env bash
|
||||
# rotate-logs.sh — comprimeer oude run-logs en verwijder zeer oude
|
||||
#
|
||||
# Wordt elke daemon-iteratie aangeroepen. Werkt op:
|
||||
# - ${AGENT_LOG_DIR}/runs/*.log (per claude -p invocation)
|
||||
# - ${AGENT_LOG_DIR}/jobs/*/*.txt (per job archief)
|
||||
#
|
||||
# Configurable via env:
|
||||
# AGENT_LOG_GZIP_AFTER_HOURS (default 24)
|
||||
# AGENT_LOG_DELETE_AFTER_DAYS (default 30)
|
||||
|
||||
set -uo pipefail
|
||||
|
||||
source /opt/agent/bin/_lib.sh
|
||||
|
||||
: "${AGENT_LOG_DIR:=/var/log/agent}"
|
||||
: "${AGENT_LOG_GZIP_AFTER_HOURS:=24}"
|
||||
: "${AGENT_LOG_DELETE_AFTER_DAYS:=30}"
|
||||
|
||||
# Convert hours → minutes for find -mmin
|
||||
GZIP_AFTER_MIN=$(( AGENT_LOG_GZIP_AFTER_HOURS * 60 ))
|
||||
|
||||
# 1. Gzip oude .log files in runs/
|
||||
find "${AGENT_LOG_DIR}/runs" -maxdepth 1 -type f -name '*.log' \
|
||||
-mmin "+${GZIP_AFTER_MIN}" -print 2>/dev/null \
|
||||
| while read -r f; do
|
||||
gzip -q "$f" || true
|
||||
done
|
||||
|
||||
# 2. Delete zeer oude .gz files in runs/
|
||||
find "${AGENT_LOG_DIR}/runs" -maxdepth 1 -type f -name '*.log.gz' \
|
||||
-mtime "+${AGENT_LOG_DELETE_AFTER_DAYS}" -delete 2>/dev/null || true
|
||||
|
||||
# 3. Delete zeer oude job-archieven
|
||||
find "${AGENT_LOG_DIR}/jobs" -maxdepth 1 -mindepth 1 -type d \
|
||||
-mtime "+${AGENT_LOG_DELETE_AFTER_DAYS}" -exec rm -rf {} + 2>/dev/null || true
|
||||
Loading…
Add table
Add a link
Reference in a new issue