Edit file File name : acct Content :#!/bin/sh # # cron script to perform monthly login accounting. # # Written by Ian A. Murdock <imurdock@gnu.ai.mit.edu> # Modified by Dirk Eddelbuettel <edd@debian.org> # Modified by Tero Tilus <terotil@www.haapavesi.fi> # patch adopted by Christian Perrier <bubulle@debian.org> for #187538 LOGROTATE="/etc/cron.daily/logrotate" test -x /usr/sbin/accton || exit 0 echo "Login accounting for the month ended `date`:" > /var/log/wtmp.report echo >> /var/log/wtmp.report # The logrotate script happens to run before this one, effectively # swallowing all information out of wtmp before we can use it. # Hence, we need to use the previous file. Bad hack. # Too bad we never heard from the logrotate maintainer about this ... # edd 18 May 2002 make sure wtmp.1 exists if [ -f "${LOGROTATE}" ] && [ -x /usr/sbin/logrotate ] then if [ -f /var/log/wtmp.1 ] then WTMP="/var/log/wtmp.1" elif [ -f /var/log/wtmp.1.gz ] then WTMP_WAS_GZIPPED="1" WTMP="`tempfile`" gunzip -c /var/log/wtmp.1.gz > "${WTMP}" fi ac -f "${WTMP}" -p | sort -nr -k2 >> /var/log/wtmp.report echo >> /var/log/wtmp.report last -f "${WTMP}" >> /var/log/wtmp.report if [ -n "${WTMP_WAS_GZIPPED}" ] then # remove temporary file rm -f "${WTMP}" fi else ac -p | sort -nr -k2 >> /var/log/wtmp.report echo >> /var/log/wtmp.report last >> /var/log/wtmp.report fi chown root:adm /var/log/wtmp.report chmod 640 /var/log/wtmp.report Save