home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff319.lzh / CNewsSrc / cnews.orig.lzh / misc / newsdaily < prev    next >
Text File  |  1989-06-27  |  2KB  |  89 lines

  1. #! /bin/sh
  2. # newsdaily - daily housekeeping chores
  3.  
  4. # =()<. ${NEWSCONFIG-@<NEWSCONFIG>@}>()=
  5. . ${NEWSCONFIG-/usr/lib/news/bin/config}
  6.  
  7. PATH=$NEWSCTL/bin:$NEWSBIN/maint:$NEWSBIN:$NEWSPATH ; export PATH
  8. umask $NEWSUMASK
  9.  
  10. gripes="/tmp/ngrip$$"
  11. tmp="/tmp/ndai$$"
  12. trap "rm -f $gripes $tmp ; exit 0" 0 1 2 15
  13. >$gripes
  14.  
  15. if test $# -gt 0
  16. then
  17.     gurus="$*"
  18. else
  19.     gurus="$NEWSMASTER"
  20. fi
  21.  
  22. cd $NEWSCTL
  23.  
  24. # keep several generations of errlog for problem tracking
  25. rm -f errlog.ooo
  26. mv errlog.oo errlog.ooo
  27. mv errlog.o errlog.oo
  28. mv errlog errlog.o && >errlog
  29.  
  30. # keep one generation of log -- it's big
  31. rm log.o
  32. mv log log.o && >log
  33.  
  34. # report any errors
  35. sleep 500            # hope that log.o is quiescent after this
  36. if test -s errlog.o
  37. then
  38.     (
  39.         echo "errlog.o"
  40.         echo ---------
  41.         cat errlog.o
  42.         echo ---------
  43.         echo
  44.     ) >>$gripes
  45. fi
  46.  
  47. # look for input anomalies
  48. cd $NEWSARTS/in.coming
  49. them="`ls | egrep -v '^bad$'`"
  50. if test " $them" != " "
  51. then
  52.     find $them -mtime +1 -print >$tmp    # old non-bad files lying about
  53.     if test -s $tmp
  54.     then
  55.         (
  56.             echo 'old input files:'
  57.             cat $tmp
  58.             echo
  59.         ) >>$gripes
  60.     fi
  61. fi
  62. find bad -type f -mtime -2 -print >$tmp        # recent bad batches
  63. if test -s $tmp
  64. then
  65.     (
  66.         echo 'recent bad input batches:'
  67.         cat $tmp
  68.         echo
  69.     ) >>$gripes
  70. fi
  71.  
  72. # look for output anomalies
  73. cd $NEWSARTS/out.going
  74. find * -type f -name 'togo*' -size +0 -mtime +1 -print >$tmp
  75. if test -s $tmp
  76. then
  77.     (
  78.         echo 'batching possibly stalled for sites:'
  79.         sed 's;/.*;;' $tmp | sort -u
  80.         echo
  81.     ) >>$gripes
  82. fi
  83.  
  84. # and send it
  85. if test -s $gripes
  86. then
  87.     mail $gurus <$gripes
  88. fi
  89.