mirror of https://gerrit.osmocom.org/osmo-pcap
48 lines
1.1 KiB
Bash
Executable File
48 lines
1.1 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
# Script designed to clean up (zip/delete) old files
|
|
# Adjust the variables below and then copy/symlink this script
|
|
# to /etc/cron/cron.{hourly,daily}
|
|
|
|
# We want to keep the filenames dated and that confuses logrotate,
|
|
# hence this script.
|
|
|
|
# Number of pcap files per client
|
|
NUMFILES=8
|
|
ZIPAFTER=3
|
|
VERBOSE=0
|
|
|
|
# Path where the logfiles reside in
|
|
BASEPATH="/var/lib/osmo-pcap/"
|
|
|
|
# Find the client names present in basepath
|
|
# Check how many files there are for each client
|
|
# Delete files in excess of NUMFILES
|
|
|
|
cd "$BASEPATH"
|
|
|
|
|
|
do_cleanup()
|
|
{
|
|
i=1
|
|
find . -name "trace-$1*" |sort -r | while read LOG; do
|
|
if [ $i -gt $NUMFILES ]; then
|
|
[ $VERBOSE -eq 1 ] && echo "Deleting file \"$LOG\""
|
|
rm -f "$LOG"
|
|
elif [ $i -gt $ZIPAFTER ]; then
|
|
if [ "${LOG##*.}" != "gz" ]; then
|
|
[ $VERBOSE -eq 1 ] && echo "Compressing file \"$LOG\""
|
|
gzip "$LOG"
|
|
fi
|
|
else
|
|
[ $VERBOSE -eq 1 ] && echo "Noop for file \"$LOG\""
|
|
fi
|
|
i=$(($i+1))
|
|
done
|
|
}
|
|
|
|
find . -name "trace-*" |sed -e "s/.*trace-\([^-]\+\).*/\1/" |sort |uniq | while read CLIENT; do
|
|
[ $VERBOSE -eq 1 ] && echo "Cleaning logs for $CLIENT"
|
|
do_cleanup "$CLIENT"
|
|
done
|