You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

32 lines
882 B

#!/bin/bash
# logreceiver_restart.sh — kill all, clear log, restart daemon
set -e
BIND_IP="0.0.0.0"
PORT=9999
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
LOG_FILE="$SCRIPT_DIR/logreceiver_output.log"
PID_FILE="/tmp/logreceiver.pid"
BIN="/home/user/utun2/tools/logreceiver/build/logreceiver"
killall logreceiver 2>/dev/null || true
sleep 0.2
killall -9 logreceiver 2>/dev/null || true
rm -f "$PID_FILE"
rm -f "$LOG_FILE.9" 2>/dev/null
for i in 8 7 6 5 4 3 2 1; do
mv -f "$LOG_FILE.$i" "$LOG_FILE.$((i+1))" 2>/dev/null || true
done
mv -f "$LOG_FILE" "$LOG_FILE.1" 2>/dev/null || true
echo "rotated $LOG_FILE (keeping last 10)"
"$BIN" -d -p "$PID_FILE" "$BIND_IP" "$PORT" "$LOG_FILE"
sleep 0.3
if [ -f "$PID_FILE" ]; then
echo "logreceiver restarted: $BIND_IP:$PORT -> $LOG_FILE (pid=$(cat $PID_FILE))"
else
echo "ERROR: logreceiver failed to start"
exit 1
fi