/logrotate.d/psaccs_atop

http://github.com/brinkman83/bashrc · #! · 42 lines · 39 code · 3 blank · 0 comment · 0 complexity · 354bf984e07dec33ef0832fe3ff6c3e0 MD5 · raw file

  1. # Logrotate file to take action before psacct is rotated
  2. /var/log/atop/dummy_before {
  3. missingok
  4. daily
  5. rotate 1
  6. ifempty
  7. create 0600 root root
  8. postrotate
  9. # check if process accounting is installed
  10. #
  11. if [ -e /etc/logrotate.d/psacct ]
  12. then
  13. # check if process accounting is actually in use
  14. #
  15. ACCTFILE=`awk '$2 == "{" {print $1}' /etc/logrotate.d/psacct`
  16. if [ -f "$ACCTFILE" ]
  17. then
  18. ACCTSIZE1=`ls -l "$ACCTFILE" | awk '{print $5}'`
  19. ACCTSIZE2=`ls -l "$ACCTFILE" | awk '{print $5}'`
  20. if [ $ACCTSIZE1 -lt $ACCTSIZE2 ]
  21. then
  22. # stop atop daemon before accounting file
  23. # is rotated
  24. #
  25. PIDFILE=/var/run/atop.pid
  26. if [ -e $PIDFILE ] && \
  27. ps -p `cat $PIDFILE` | grep 'atop$' > /dev/null
  28. then
  29. kill -USR1 `cat $PIDFILE` # take final sample
  30. sleep 3
  31. kill -TERM `cat $PIDFILE`
  32. rm $PIDFILE
  33. sleep 1
  34. fi
  35. fi
  36. fi
  37. fi
  38. endscript
  39. }