home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / news / nn.tar / nn-6.5.1 / nnusage.sh < prev    next >
Text File  |  1995-04-29  |  1KB  |  75 lines

  1. # CONFIG file is inserted here
  2.  
  3. OPT=""
  4. SORTMODE=""
  5. ALL=false
  6.  
  7. LOOP=true
  8. while $LOOP
  9. do
  10.     case "$1" in
  11.     -a)    OPT="$OPT -a"
  12.         ALL=true
  13.         shift ;;
  14.     -t)    SORTMODE="+1nr"
  15.         shift ;;
  16.     -at)    OPT="$OPT -a"
  17.         ALL=true
  18.         SORTMODE="+1nr"
  19.         shift ;;
  20.     -*)    echo "$0: unknown option: $1"
  21.         exit 1
  22.         ;;
  23.     *)    LOOP=false
  24.         ;;
  25.     esac
  26. done
  27.  
  28. if [ -f $DB/acct -a -f $BIN/nnacct ] ; then
  29.     if $AUTH ; then
  30.     echo "USER        USAGE  QUOTA  LAST_ACTIVE   COST/PERIOD   POLICY"
  31.     else
  32.     echo "USER        USAGE  QUOTA  LAST_ACTIVE   COST/PERIOD"
  33.     fi
  34.     $BIN/nnacct -r $OPT $@ | sed -e 1d | sort $SORTMODE
  35.     exit
  36. fi
  37.  
  38. OLDLOG=${LOG}.old
  39. if [ ! -s ${OLDLOG} ]
  40. then
  41.   OLDLOG=""
  42. fi
  43.  
  44. cat $OLDLOG $LOG |
  45. if $ALL
  46. then
  47.     grep '^U:'
  48. else
  49.     grep "^U:.*(${LOGNAME-$USER})"
  50. fi |
  51.  
  52. ${AWK} '
  53. BEGIN {
  54.     any=0
  55. }
  56. NF == 7 {
  57.     if (split($7, t, ".") == 2) {
  58.         u[$5] += t[1] * 60 + t[2]
  59.         if (any == 0) printf("Usage since %s %d, %s\n", $2, $3, $4)
  60.         any=1
  61.     }
  62. }
  63. END {
  64.     if (!any) {
  65.         printf("No usage statistics\n")
  66.         exit
  67.     }
  68.     for (n in u) {
  69.         name=substr(n, 2, length(n)-3)
  70.         printf("%-10.10s%8d.%02d\n", name, u[n]/60, u[n]%60);
  71.     }
  72. }' |
  73.  
  74. sort $SORTMODE
  75.