93 lines
1.9 KiB
Bash
Executable File
93 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
## --------------------------------------------------------------------
|
|
## $HeadURL$
|
|
## --------------------------------------------------------------------
|
|
##!
|
|
## --------------------------------------------------------------------
|
|
## COPYRIGHT (C) 1999: Rehinemtall Electronics GMBH, D-28305 BREMEN
|
|
## --------------------------------------------------------------------
|
|
##
|
|
## HIER/ITEM : CSU: RP 5182 Q 100 SRC 00102
|
|
## BRIEF DESC: remove corefiles from '/tmp/coredumps' to fall below x%
|
|
## AUTHOR : Norbert Thoden
|
|
## RELEASE :
|
|
## MODIF/STAT: 27.10.20
|
|
## ORIGIN REF:
|
|
##
|
|
## Revision INFO:
|
|
## --------------
|
|
## $Revision$
|
|
## $Date$
|
|
## $Id$
|
|
##
|
|
## LANGUAGE: (TCL/TK-Version)
|
|
##
|
|
## PURPOSE:
|
|
##
|
|
## ERROR HANDLING:
|
|
## keine
|
|
##
|
|
##!
|
|
|
|
|
|
# /tmp/coredumps is most likely a symlink to /coredumps
|
|
|
|
dir=/tmp/coredumps
|
|
max_usage=70
|
|
|
|
|
|
|
|
usage()
|
|
{
|
|
echo "usage: `basename "$0"` y - (y = yes) - to remove corefiles from '${dir}' to fall below $max_usage%"
|
|
exit 1
|
|
}
|
|
|
|
if [ $# -ne 1 ] || [ $1 != y ]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
|
|
if [ ! -d "$dir" ]; then
|
|
echo "'${dir}' does not exist... exit"
|
|
exit
|
|
fi
|
|
|
|
|
|
usep=$(df -H | grep coredumps | awk '{print $5}' | cut -d '%' -f1)
|
|
if [ $usep -ge $max_usage ]; then
|
|
echo "Dir '$dir' exceeds limit, $usep % used..."
|
|
else
|
|
echo "Dir '$dir' is used by $usep% -> exit"
|
|
exit
|
|
fi
|
|
|
|
|
|
echo "Remove oldest files files from '$dir' to fall below $max_usage%..."
|
|
|
|
|
|
remove_older()
|
|
{
|
|
days=$1
|
|
echo " remove files older '${days}' ..."
|
|
# find /coredumps -mtime +${days} -exec ls -lisa {} \;
|
|
find /coredumps -mtime +${days} -exec rm -vf {} \;
|
|
}
|
|
|
|
## loop as long as usage is high ; max 10 times
|
|
age=100
|
|
while [ $usep -ge $max_usage ] && [ "$age" -gt 0 ];
|
|
do
|
|
age=$((age-10))
|
|
echo " age'${age}' ..."
|
|
remove_older $age
|
|
usep=$(df -H | grep coredumps | awk '{print $5}' | cut -d '%' -f1)
|
|
done
|
|
|
|
|
|
# Finally:
|
|
usep=$(df -H | grep coredumps | awk '{print $5}' | cut -d '%' -f1)
|
|
echo "Dir '$dir' is used by $usep %"
|
|
|