From 1e06e49f151f7892cc67f7ec7135dca8e6c9c450 Mon Sep 17 00:00:00 2001 From: Kairo Francisco de Araujo Date: Apr 03 2008 20:32:59 +0000 Subject: initial commit changelog on review #430377 Thu Apr 3 2008 Kairo Araujo - 1.23-6 - removed variable DATALIFE from atop.d and atop.crondaily Wed Apr 2 2008 Kairo Araujo - 1.23-5 - improved atop.d and atop.crondaily (Manuel Wolfshant) Mon Mar 31 2008 Kairo Araujo - 1.23-4 - logical bash bug on atop.d and atop.crondaily - implemented security on atop.d and atop.crondaily - common script for init and cron.daily Sat Mar 29 2008 Kairo Araujo - 1.23-3 - deleted duplicate "-p" on spec file (install) - modified comment about interval on atop.d and atop.crondaily - removed check atop.log on atop.d and atop.crondaily - created new section on atop.crondaily Thu Mar 27 2008 Kairo Araujo - 1.23-2 - removed atop start on %%post - atop.crondaily with exit after checking - created atop.sysconfig with variables - created atop.d (removed atop.crondaily call from cron.init) Thu Mar 27 2008 Kairo Araujo - 1.23-1 - update 1.23 - bug on source2 (init file) Sun Jan 27 2008 Kairo Araujo - 1.22-3 - removed minimal version from requires/build-requires - corrected variable in atop.crondaily - corrected comentary in atop.crondaily Sun Jan 27 2008 Kairo Araujo - 1.22-2 - corrected license tag to GPLv2+ - replaced references to atop (init file) - rebuild with Fedora mandatory flags (make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS") - chkconfig and service added at pre/post scriptlets - improved name in logrotate file configuration - corrected english description Sat Jan 26 2008 Kairo Araujo - 1.22-1 - Initial RPM release --- diff --git a/.cvsignore b/.cvsignore index e69de29..f7a6120 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +atop-1.23.tar.gz diff --git a/atop.crondaily b/atop.crondaily new file mode 100644 index 0000000..00071a9 --- /dev/null +++ b/atop.crondaily @@ -0,0 +1,42 @@ +#!/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 + start_atop + else + exit 1 + fi +fi +exit 0 + diff --git a/atop.d b/atop.d new file mode 100644 index 0000000..c985ad3 --- /dev/null +++ b/atop.d @@ -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 diff --git a/atop.init b/atop.init new file mode 100644 index 0000000..f3dcfc6 --- /dev/null +++ b/atop.init @@ -0,0 +1,78 @@ +#! /bin/bash +# +# atop advanced interactive monitor +# +# chkconfig: - 90 60 +# description: atop is advanced interactive monitor +# processname: atop +# pidfile: /var/run/atop.pid +# Source function library. +. /etc/init.d/functions + +RETVAL=0 + +# See how we were called. + +prog="atop" + +start() { + echo -n $"Starting $prog: " + + daemon atopd + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/atop + return $RETVAL +} + +stop() { + echo -n $"Stopping $prog: " + killproc atop 2>/dev/null + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/atop + return $RETVAL +} + +rhstatus() { + status atop +} + +restart() { + stop + start +} + +reload() { + echo -n $"Reloading atop daemon configuration: " + killproc atop -HUP + retval=$? + echo + return $RETVAL +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + reload) + reload + ;; + status) + rhstatus + ;; + condrestart) + [ -f /var/lock/subsys/atop ] && restart || : + ;; + *) + echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}" + exit 1 +esac + +exit $? diff --git a/atop.logrotate b/atop.logrotate new file mode 100644 index 0000000..933db60 --- /dev/null +++ b/atop.logrotate @@ -0,0 +1,16 @@ +/var/log/atop/atop.log { + missingok + weekly + rotate 4 + ifempty + create 0600 root root + postrotate +} +/var/log/atop/atop_* { + missingok + daily + rotate 1 + ifempty + create 0600 root root + postrotate +} diff --git a/atop.spec b/atop.spec new file mode 100644 index 0000000..9ced2ee --- /dev/null +++ b/atop.spec @@ -0,0 +1,137 @@ +Name: atop +Version: 1.23 +Release: 6%{?dist} +Summary: An advanced interactive monitor to view the load on system and process level + +Group: Applications/System +License: GPLv2+ +URL: http://www.atcomputing.nl/Tools/atop/ +Source0: http://www.atcomputing.nl/Tools/%{name}/packages/%{name}-%{version}.tar.gz +Source1: atop.logrotate +Source2: atop.init +Source3: atop.crondaily +Source4: atop.sysconfig +Source5: atop.d +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Requires: ncurses +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/chkconfig +Requires(preun): /sbin/service + +BuildRequires: zlib-devel +BuildRequires: ncurses-devel + +%description +An advanced interactive monitor for Linux-systems to view the load on +system-level and process-level. +The command atop has some major advantages compared to other +performance-monitors: + - Resource consumption by all processes + - Utilization of all relevant resources + - Permanent logging of resource utilization + - Highlight critical resources + - Watch activity only + - Watch deviations only + - Accumulated process activity per user + - Accumulated process activity per program +For more informations: http://www.atcomputing.nl/Tools/atop +The package does not make use of the patches available at +http://www.atcomputing.nl/Tools/atop/kernpatch.html + +%prep +%setup -q + +%build +make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" + +%install +rm -rf $RPM_BUILD_ROOT +install -Dp -m 0755 atop $RPM_BUILD_ROOT%{_bindir}/atop +ln -s atop $RPM_BUILD_ROOT%{_bindir}/atopsar +install -Dp -m 0644 man/atop.1 $RPM_BUILD_ROOT%{_mandir}/man1/atop.1 +install -Dp -m 0644 man/atopsar.1 $RPM_BUILD_ROOT%{_mandir}/man1/atopsar.1 +install -Dp -m 0644 atop.cron $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/atop +install -Dp -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/atop +install -Dp -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_initrddir}/atop +install -Dp -m 0755 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/atop +install -Dp -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/atop +install -Dp -m 0755 %{SOURCE5} $RPM_BUILD_ROOT%{_bindir}/atopd +install -d $RPM_BUILD_ROOT%{_localstatedir}/log/atop + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +/sbin/chkconfig --add atop + +%preun +if [ $1 -eq 0 ]; then + /sbin/service atop stop &>/dev/null || : + /sbin/chkconfig --del atop +fi + +%postun +if [ $1 -ge 1 ]; then + /sbin/service atop condrestart &>/dev/null || : +fi + +%files +%defattr(-,root,root,-) +%doc AUTHOR COPYING README ChangeLog +%config(noreplace) %{_sysconfdir}/cron.d/atop +%config(noreplace) %{_sysconfdir}/logrotate.d/atop +%config(noreplace) %{_sysconfdir}/sysconfig/atop +%{_sysconfdir}/cron.daily/atop +%{_initrddir}/atop +%{_bindir}/atopsar +%{_bindir}/atop +%{_bindir}/atopd +%{_mandir}/man1/atop.1.gz +%{_mandir}/man1/atopsar.1.gz +%attr(0755,root,root) %dir %{_localstatedir}/log/atop + + +%changelog +* Thu Apr 3 2008 Kairo Araujo - 1.23-6 +- removed variable DATALIFE from atop.d and atop.crondaily + +* Wed Apr 2 2008 Kairo Araujo - 1.23-5 +- improved atop.d and atop.crondaily (Manuel Wolfshant) + +* Mon Mar 31 2008 Kairo Araujo - 1.23-4 +- logical bash bug on atop.d and atop.crondaily +- implemented security on atop.d and atop.crondaily +- common script for init and cron.daily + +* Sat Mar 29 2008 Kairo Araujo - 1.23-3 +- deleted duplicate "-p" on spec file (install) +- modified comment about interval on atop.d and atop.crondaily +- removed check atop.log on atop.d and atop.crondaily +- created new section on atop.crondaily + +* Thu Mar 27 2008 Kairo Araujo - 1.23-2 +- removed atop start on %%post +- atop.crondaily with exit after checking +- created atop.sysconfig with variables +- created atop.d (removed atop.crondaily call from cron.init) + +* Thu Mar 27 2008 Kairo Araujo - 1.23-1 +- update 1.23 +- bug on source2 (init file) + +* Sun Jan 27 2008 Kairo Araujo - 1.22-3 +- removed minimal version from requires/build-requires +- corrected variable in atop.crondaily +- corrected comentary in atop.crondaily + +* Sun Jan 27 2008 Kairo Araujo - 1.22-2 +- corrected license tag to GPLv2+ +- replaced references to atop (init file) +- rebuild with Fedora mandatory flags (make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS") +- chkconfig and service added at pre/post scriptlets +- improved name in logrotate file configuration +- corrected english description + +* Sat Jan 26 2008 Kairo Araujo - 1.22-1 +- Initial RPM release diff --git a/atop.sysconfig b/atop.sysconfig new file mode 100644 index 0000000..12d376a --- /dev/null +++ b/atop.sysconfig @@ -0,0 +1,13 @@ +# sysconfig atop +# + +# Current Day format +CURDAY=`date +%Y%m%d` +# Log files path +LOGPATH=/var/log/atop +# Binaries path +BINPATH=/usr/bin +# PID File +PIDFILE=/var/run/atop.pid +# interval (default 10 minutes) +INTERVAL=600 diff --git a/sources b/sources index e69de29..002cc30 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +ba1d733b9f0fcf8469a8e6c8e4d2d3b7 atop-1.23.tar.gz