File: psaccs_atop

package info (click to toggle)
atop 2.4.0-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 1,692 kB
  • sloc: ansic: 20,731; python: 253; sh: 220; makefile: 170
file content (42 lines) | stat: -rw-r--r-- 1,029 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 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 [ -e /etc/logrotate.d/psacct ]
	then
	    # check if process accounting is actually in use
	    #
	    ACCTFILE=`awk '$2 == "{" {print $1}' /etc/logrotate.d/psacct`

	    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
}