home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / system / mail / transpor / ifmail23.z / ifmail23 / ifmail / misc / inn / send-ifmail < prev   
Encoding:
Text File  |  1994-03-28  |  1.6 KB  |  88 lines

  1. #! /bin/sh
  2. ##  $Revision: 1.11 $
  3. ##  SH script to send Fidonet batches out.
  4.  
  5. ##  =()<. @<_PATH_SHELLVARS>@>()=
  6. . /usr/lib/news/innshellvars
  7.  
  8. PROGNAME=`basename $0`
  9. LOCK=${LOCKS}/LOCK.${PROGNAME}
  10. LOG=${MOST_LOGS}/${PROGNAME}.log
  11. IFNEWS=/usr/local/lib/fnet/ifnews
  12.  
  13. ##  Start logging.
  14. test ! -f ${LOG} && touch ${LOG}
  15. chmod 0660 ${LOG}
  16. exec >>${LOG} 2>&1
  17. echo "${PROGNAME}: [$$] begin `date`"
  18. cd ${BATCH}
  19.  
  20. ##  Anyone else there?
  21. trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15
  22. shlock -p $$ -f ${LOCK} || {
  23.     echo "${PROGNAME}: [$$] locked by [`cat ${LOCK}`]"
  24.     exit 0
  25. }
  26.  
  27. ##  Who are we sending to?
  28. if [ -n "$1" ] ; then
  29.     LIST="$*"
  30. else
  31.     LIST=`ls /usr/spool/news/out.going|egrep "f[0-9]*.n[0-9]*"`
  32. fi
  33.  
  34. case ${HAVE_UUSTAT} in
  35. DONT)
  36.     TEMP=${TMPDIR}/uuq$$
  37.     uuq -h |tr -d : >${TEMP}
  38.     ;;
  39. esac
  40.  
  41. ##  Do the work...
  42. for SITE in ${LIST}; do
  43.  
  44.     ##  See if any data is ready for host.
  45.     BATCHFILE=${SITE}.uucp
  46.     if [ -f ${SITE}.work ] ; then
  47.     cat ${SITE}.work >>${BATCHFILE}
  48.     rm -f ${SITE}.work
  49.     fi
  50.     mv ${SITE} ${SITE}.work
  51.     ctlinnd -s -t30 flush ${SITE} || continue
  52.     cat ${SITE}.work >>${BATCHFILE}
  53.     rm -f ${SITE}.work
  54.     if [ ! -s ${BATCHFILE} ] ; then
  55.     echo "${PROGNAME}: [$$] no articles for ${SITE}"
  56.     rm -f ${BATCHFILE}
  57.     continue
  58.     fi
  59.  
  60.     ##  Get the compression flags.
  61.     echo "${PROGNAME}: [$$] begin ${SITE}"
  62.     case "${SITE}" in
  63.     phreak)
  64.     COMPRESS="compress"
  65.     ;;
  66.     *)
  67.     COMPRESS="gzip"
  68.     ;;
  69.     esac
  70.  
  71.     time batcher \
  72.     -p"${IFNEWS} %s" \
  73.     ${SITE} ${BATCHFILE}
  74.  
  75.     echo "${PROGNAME}: [$$] end ${SITE}"
  76. done
  77.  
  78. case ${HAVE_UUSTAT} in
  79. DONT)
  80.     rm -f ${TEMP}
  81.     ;;
  82. esac
  83.  
  84. ##  Remove the lock file.
  85. rm -f ${LOCK}
  86.  
  87. echo "${PROGNAME}: [$$] end `date`"
  88.