home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / N / NN / _NN-SPOO.TAR / usr / bin / nnusage < prev   
Encoding:
Text File  |  1994-09-13  |  1.3 KB  |  94 lines

  1. #!/bin/sh
  2.  
  3. # Generated by nn release 6.4.18
  4.  
  5. VERSION="6.4.18"
  6. INEWS="/usr/bin/inews"
  7. INEWS_DIR="/usr/bin"
  8. AWK="awk"
  9. NNTP=false
  10. ACTIVE=/var/lib/news/active
  11. LOG=/usr/lib/nn/Log
  12. TMP=${TMPDIR-/usr/tmp}
  13. DB=/var/spool/nn
  14. BIN=/usr/bin
  15. LIB=/usr/lib/nn
  16. AUTH=false
  17.  
  18. # ---- end of prefix
  19.  
  20. # CONFIG file is inserted here
  21.  
  22. OPT=""
  23. SORTMODE=""
  24. ALL=false
  25.  
  26. LOOP=true
  27. while $LOOP
  28. do
  29.     case "$1" in
  30.     -a)    OPT="$OPT -a"
  31.         ALL=true
  32.         shift ;;
  33.     -t)    SORTMODE="+1nr"
  34.         shift ;;
  35.     -at)    OPT="$OPT -a"
  36.         ALL=true
  37.         SORTMODE="+1nr"
  38.         shift ;;
  39.     -*)    echo "$0: unknown option: $1"
  40.         exit 1
  41.         ;;
  42.     *)    LOOP=false
  43.         ;;
  44.     esac
  45. done
  46.  
  47. if [ -f $DB/acct -a -f $BIN/nnacct ] ; then
  48.     if $AUTH ; then
  49.     echo "USER        USAGE  QUOTA  LAST_ACTIVE   COST/PERIOD   POLICY"
  50.     else
  51.     echo "USER        USAGE  QUOTA  LAST_ACTIVE   COST/PERIOD"
  52.     fi
  53.     $BIN/nnacct -r $OPT $@ | sed -e 1d | sort $SORTMODE
  54.     exit
  55. fi
  56.  
  57. OLDLOG=${LOG}.old
  58. if [ ! -s ${OLDLOG} ]
  59. then
  60.   OLDLOG=""
  61. fi
  62.  
  63. cat $OLDLOG $LOG |
  64. if $ALL
  65. then
  66.     grep '^U:'
  67. else
  68.     grep "^U:.*(${LOGNAME-$USER})"
  69. fi |
  70.  
  71. ${AWK} '
  72. BEGIN {
  73.     any=0
  74. }
  75. NF == 7 {
  76.     if (split($7, t, ".") == 2) {
  77.         u[$5] += t[1] * 60 + t[2]
  78.         if (any == 0) printf("Usage since %s %d, %s\n", $2, $3, $4)
  79.         any=1
  80.     }
  81. }
  82. END {
  83.     if (!any) {
  84.         printf("No usage statistics\n")
  85.         exit
  86.     }
  87.     for (n in u) {
  88.         name=substr(n, 2, length(n)-3)
  89.         printf("%-10.10s%8d.%02d\n", name, u[n]/60, u[n]%60);
  90.     }
  91. }' |
  92.  
  93. sort $SORTMODE
  94.