diff options
Diffstat (limited to 'atop.d')
-rw-r--r-- | atop.d | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -0,0 +1,41 @@ +#!/bin/bash + +# load sysconfig atop + +[ -f /etc/sysconfig/atop ] && . /etc/sysconfig/atop +# Current Day format +[ -z $CURDAY ] && CURDAY=`date +%Y%m%d` +# Log files path +[ -z $LOGPATH ] && LOGPATH=/var/log/atop +# Binaries path +[ -z $BINPATH ] && BINPATH=/usr/bin +# PID File +[ -z $PIDFILE ] && PIDFILE=/var/run/atop.pid +# interval (default 10 minutes) +[ -z $INTERVAL ] && INTERVAL=600 + + +start_atop() { +# start atop for all processes with interval of $INTERVAL +# (by default 10) minutes +$BINPATH/atop -a -w $LOGPATH/atop_$CURDAY $INTERVAL > $LOGPATH/atop.log 2>&1 & +echo $! > $PIDFILE +} + +# verify if atop still runs for daily logging +# +if [ -f $PIDFILE ]; then + PID=`cat $PIDFILE` + if [ -s $PIDFILE ] && ps -p $PID | grep 'atop$' > /dev/null + then + kill -USR1 $PID # take final sample + sleep 3 + kill -TERM $PID + rm $PIDFILE + sleep 1 + else + exit 1 + fi +fi +start_atop +exit 0 |