# Logrotate file to take action before psacct is rotated
/var/log/atop/dummy_before {
    missingok
    daily
    rotate 0
    nomail
    nocompress
    ifempty
    create 0600 root root
    postrotate
	# check if process accounting is installed
	#
 	if grep -q 'savelog' /etc/cron.daily/acct 2>/dev/null; then
	    # check if process accounting is actually in use
	    #
	    # this is a heuristic that will fail once acct's cron.daily job changes
	    # please file a bug report against atop if you encounter this
            ACCTFILE=$(sed -n "/savelog[^\/]\+\(\/[[:alnum:]\/]\+\).*/{s//\1/;p;q;}" /etc/cron.daily/acct)

	    if [ -f "$ACCTFILE" ]
	    then
	        ACCTSIZE1=`ls -l "$ACCTFILE" | awk '{print $5}'`
	        ACCTSIZE2=`ls -l "$ACCTFILE" | awk '{print $5}'`

	        if [ $ACCTSIZE1 -lt $ACCTSIZE2 ]
	        then
	            # stop atop daemon before accounting file
	            # is rotated
	            #
	            PIDFILE=/run/atop.pid

	            if [ -e $PIDFILE ] && \
	                   ps -p `cat $PIDFILE` | grep 'atop$' > /dev/null
	            then
			kill -USR2 `cat $PIDFILE` # take final sample
	                rm $PIDFILE
			sleep 1
	            fi
	        fi
	    fi
	fi
    endscript
}
