2 # fixscript will replace this line with code to load innshellvars
5 ## SH script to send NNTP news out.
8 LOG=${MOST_LOGS}/${PROGNAME}.log
10 ## Go to where the action is, start logging
14 if [ "X$1" = X-d ] ; then
18 test ! -f ${LOG} && touch ${LOG}
23 echo "${PROGNAME}: [$$] begin `date`"
25 ## List of sitename:hostname pairs to send to
29 echo "${PROGNAME}: [$$] no sites specified" >&2
34 for SITE in ${LIST}; do
37 HOST=`expr $SITE : '.*:\(.*\)'`
38 SITE=`expr $SITE : '\(.*\):.*'`
46 PORT=`expr $HOST : '\(.*\)@.*'`
47 HOST=`expr $HOST : '.*@\(.*\)'`
53 BATCHFILE=${SITE}.nntp
54 LOCK=${LOCKS}/LOCK.${SITE}
55 trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15
56 shlock -p $$ -f ${LOCK} || {
57 echo "${PROGNAME}: [$$] ${SITE} locked by `cat ${LOCK}`"
61 ## See if any data is ready for host.
62 if [ -f ${SITE}.work ] ; then
63 cat ${SITE}.work >>${BATCHFILE}
66 if [ ! -f ${SITE} -o ! -s ${SITE} ] ; then
67 if [ ! -f ${BATCHFILE} -o ! -s ${BATCHFILE} ] ; then
72 mv ${SITE} ${SITE}.work
73 ctlinnd -s -t30 flush ${SITE} || continue
74 cat ${SITE}.work >>${BATCHFILE}
76 if [ ! -s ${BATCHFILE} ] ; then
77 echo "${PROGNAME}: [$$] no articles for ${SITE}"
82 echo "${PROGNAME}: [$$] begin ${SITE}"
83 time innxmit ${DEBUG} -P ${PORT} ${HOST} ${BATCH}/${BATCHFILE}
84 echo "${PROGNAME}: [$$] end ${SITE}"
88 echo "${PROGNAME}: [$$] end `date`"