/etc/news/scripts/send-uucp is in inn 1:1.7.2q-44+b2.
This file is owned by news:news, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | #! /bin/sh
## $Revision: 1.13 $
## SH script to send UUCP batches out.
## =()<. @<_PATH_SHELLVARS>@>()=
. /usr/lib/news/innshellvars
PROGNAME=`basename $0`
LOCK=${LOCKS}/LOCK.${PROGNAME}
LOG=${MOST_LOGS}/${PROGNAME}.log
MAXJOBS=200
UUXFLAGS="- -r -gd"
## Start logging.
test ! -f ${LOG} && touch ${LOG}
chmod 0660 ${LOG}
exec >>${LOG} 2>&1
echo "${PROGNAME}: [$$] begin `date`"
cd ${BATCH}
## Anyone else there?
trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15
shlock -p $$ -f ${LOCK} || {
echo "${PROGNAME}: [$$] locked by [`cat ${LOCK}`]"
exit 0
}
## Who are we sending to?
if [ -n "$1" ] ; then
LIST="$*"
else
LIST=""
case `date +%H` in
01|04|07|21|23)
LIST="kurz-ai aoa clsib21 leafusa metasoft"
;;
06|12|15|17|20)
LIST="esca"
;;
esac
fi
case ${HAVE_UUSTAT} in
DONT)
TEMP=${TMPDIR}/uuq$$
uuq -h |tr -d : >${TEMP}
;;
esac
## Do the work...
for SITE in ${LIST}; do
## See if any data is ready for host.
BATCHFILE=${SITE}.uucp
if [ -f ${SITE}.work ] ; then
cat ${SITE}.work >>${BATCHFILE}
rm -f ${SITE}.work
fi
mv ${SITE} ${SITE}.work
ctlinnd -s -t30 flush ${SITE} || continue
cat ${SITE}.work >>${BATCHFILE}
rm -f ${SITE}.work
if [ ! -s ${BATCHFILE} ] ; then
echo "${PROGNAME}: [$$] no articles for ${SITE}"
rm -f ${BATCHFILE}
continue
fi
## Get number of jobs for the current site.
case ${HAVE_UUSTAT} in
DONT)
JOBS=`${AWK} \
'BEGIN{X=0} {if ($1 == "'$SITE'") X=$2} END{print X}' <${TEMP}`
;;
DO)
JOBS=`uustat -s${SITE} | grep rnews | wc -l`
;;
*)
JOBS=0
;;
esac
if [ ${JOBS} -ge ${MAXJOBS} ] ; then
echo "${PROGNAME}: [$$] ${JOBS} files already queued for ${SITE}"
continue
fi
QUEUEJOBS=`expr ${MAXJOBS} - ${JOBS}`
## Get the compression flags.
echo "${PROGNAME}: [$$] begin ${SITE}"
case "${SITE}" in
# esca)
# COMPRESS="compress -b12"
# ;;
*)
# The default is set in innshelvars
# COMPRESS="compress"
;;
esac
time batcher -N ${QUEUEJOBS} \
-p"(echo '#! cunbatch' ; exec ${COMPRESS} ) | uux ${UUXFLAGS} %s!rnews" \
${SITE} ${BATCHFILE}
echo "${PROGNAME}: [$$] end ${SITE}"
done
case ${HAVE_UUSTAT} in
DONT)
rm -f ${TEMP}
;;
esac
## Remove the lock file.
rm -f ${LOCK}
echo "${PROGNAME}: [$$] end `date`"
|